私のアプリでは、 を使用してユーザーのデフォルト ロケールを取得しLocale.getDefault()
、それを に渡しますCurrency.getInstance(Locale)
。IllegalArgumentException
ほとんどの場合は機能しますが、スタック トレースに次のようなレポートをユーザーから受け取り始めました。
原因: java.lang.IllegalArgumentException: サポートされていない ISO 3166 国: en_UK at java.util.Currency.getInstance(Currency.java:81) at org.
Android は有効なロケールのみを返すと思っていましたが、そうではないようです。
このような場合、有効な ISO 3166 ロケールのみを取得するにはどうすればよいですか? この特別なケースを処理するのが簡単な方法ですが、一般的な解決策があればそれを使用したいと思います。
誰でもこれを経験したことがありますか?ありがとう。