android - 在 Android 设备上获取用户货币的最佳方式是什么?

标签 android location locale currency currency-formatting

我正在尝试构建一个应用程序,用户可以根据自己所在国家/地区的货币(将货币符号附加到 EditText)输入产品价格,然后将值上传到数据库。 我已经尝试过默认的 Locale 类,但它使用用户的配置,因此像我这样在美国境外的设备上使用美国英语的人只能输入美元值。此外,在某些情况下,从 SIM 卡获取信息并无用处。 eBay 甚至 Play 商店等应用程序如何获取这些信息?我唯一能想到的就是使用设备的 GPS。如果是的话,如何提取信息?如果没有,我该怎么办?

最佳答案

检查 SIM 卡可能是个好主意

TelephonyManager telephonyManager = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);    
Currency.getInstance(new Locale("", telephonyManager.getNetworkCountryIso()));

我住在欧盟,但我的智能手机使用美国区域设置,因为我更喜欢英语。该代码为我提供了欧元货币

关于android - 在 Android 设备上获取用户货币的最佳方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38663317/

相关文章:

java - 融合位置提供程序的最低 android 操作系统级别是多少

python - python中的gsm位置

java - 默认资源包用于每个语言环境?

c++ - 我可以从语言首选项中获取代码页吗?

java - 如何用Java Intent解决这个问题?

java - Android:TabLayout如何以编程方式设置height = 0?

nginx - 如何在NGINX服务器中使用扩展名设置位置

c++ - 语言环境是否有一个定义负号的 Facet?

android - 带有 TabLayout 的 ViewPager 问题与 AnimatedVectorDrawable

java - 如何使用 MusicKit SDK for Android 播放歌曲