Android 根据当前位置自动更改货币符号

Android 根据当前位置自动更改货币符号,android,Android,我使用以下代码检索用户的本地货币符号: public static String getCurrencySymbol() { Currency currency = Currency.getInstance(Locale.getDefault()); return currency.getSymbol(); } 然而,我的一个用户从英国搬到了美国,他的货币符号仍然显示为英镑。现在他搬到美国了,有没有办法让它成为一个美元符号($)呢 我认为Locale.

我使用以下代码检索用户的本地货币符号:

     public static String getCurrencySymbol() {
        Currency currency = Currency.getInstance(Locale.getDefault());
        return currency.getSymbol();
}

然而,我的一个用户从英国搬到了美国,他的货币符号仍然显示为英镑。现在他搬到美国了,有没有办法让它成为一个美元符号($)呢

我认为
Locale.getDefault()
只与手机上的语言设置有关,与手机的当前位置无关。这就是为什么实际的区域设置没有改变,即使您的用户迁移到了美国

一个可能的解决方案是在你的应用程序中添加一个设置选项,这样用户可以在需要时更改货币。然后,此选项只会更改用于货币的应用程序范围的语言环境