0

ユーザーがいる国を必要とするアプリケーションを構築しています。ユーザーがスマートフォンを使用している場合、国を取得するのに問題はありません

telephonyManager.getNetworkCountryIso()

しかし、sim、つまりnexus 7を使用していない場合、どうすればこれを達成できますか???

どんな助けでも大歓迎です

ありがとう

4

3 に答える 3

1

ユーザーがタブレットと電話のどちらを使用しているかを確認するには、次の手順を試してください。

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(); 

それが役に立てば幸い!

于 2013-07-22T09:20:29.973 に答える
0

ユーザーの場所を取得し (大まかな概算で十分です)、Geocoder でおおよその住所を検索して国を特定できます。

実際、あなたの質問はこれに似ています。

しかし、Android では Geocoder が組み込まれているため、特別に Web サービスを呼び出して json をデコードする必要はありません。ユーザーの位置を取得する方法についてはLocation Guideを、位置を取得する方法についてはGeocoder APIを参照してください。

于 2013-07-22T09:40:06.527 に答える