私は通常、デバイスの言語から国を取得します。それは機能しますが、今はブラジルを認識しなければなりません。また、ほとんどのデバイスにはポルトガル語(pt_PT)のみがあり、ポルトガル語(Brazil)オプションはありません。
私はこのスレッドをチェックしました:私はどこにいますか?-国を取得
メソッド
String locale = context.getResources().getConfiguration().locale.getCountry();
String locale = context.getResources().getConfiguration().locale.getDisplayCountry();
まだ言語のみであり、役に立ちません。
sim-cardに関する提案もありますが、これが確実に機能するかどうかはわかりません(すべてのsimカードにこの一意のIDがありますか?)。また、ユーザーが変更できないため、必要なものとは少し異なります。 (これは設定の場合です)、SIMカードのないデバイスを使用しているユーザーを除外します(おそらくWLANを使用しているだけです)。
ジオロケーションの提案もありますが、これはおそらくそれを非アクティブ化したデバイスでは機能しません。それとも私は間違っていますか?
他に何も役に立たない場合は、ユーザーがそこで選択できるように、アプリでダイアログまたはメニュー設定を行います。ただし、最初に、デバイスに信頼できる可能性があるかどうかを確認したいと思います。