ユーザーがいる国を必要とするアプリケーションを構築しています。ユーザーがスマートフォンを使用している場合、国を取得するのに問題はありません
telephonyManager.getNetworkCountryIso()
しかし、sim、つまりnexus 7を使用していない場合、どうすればこれを達成できますか???
どんな助けでも大歓迎です
ありがとう
ユーザーがいる国を必要とするアプリケーションを構築しています。ユーザーがスマートフォンを使用している場合、国を取得するのに問題はありません
telephonyManager.getNetworkCountryIso()
しかし、sim、つまりnexus 7を使用していない場合、どうすればこれを達成できますか???
どんな助けでも大歓迎です
ありがとう
ユーザーがタブレットと電話のどちらを使用しているかを確認するには、次の手順を試してください。
TelephonyManager telephonyManager1 = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
if(telephonyManager1.getPhoneType() == TelephonyManager.PHONE_TYPE_NONE) {
// TABLET
}
else {
// YOUR PREVIOUS CODE
}
ユーザーがタブレットを使用している場合は、Locale で試すことができますか? これで場所がわからないことはわかっていますが、ユーザーが持っているロケールに従って調べてみることができます。
String locale = context.getResources().getConfiguration().locale.getCountry();
それが役に立てば幸い!
ユーザーの場所を取得し (大まかな概算で十分です)、Geocoder でおおよその住所を検索して国を特定できます。
実際、あなたの質問はこれに似ています。
しかし、Android では Geocoder が組み込まれているため、特別に Web サービスを呼び出して json をデコードする必要はありません。ユーザーの位置を取得する方法についてはLocation Guideを、位置を取得する方法についてはGeocoder APIを参照してください。