私のAndroidアプリでは、特定の機能を判断するために、getSimCountryIso()
とgetNetworkCountryIso()
を使って端末のISO国コードを確認しています。 私の実際のモバイルデバイスとエミュレータでこれをテストし、すべてのエラーを返さずに特定の値を返しました。AndroidタブレットでgetSimCountryIso()が呼び出されるとどうなりますか?
私の毎日のドライバーフォンにはSIMカードが入っていますが、他にはSIMカードがありません。最初に、私はgetSimCountryIso()
とgetNetworkCountryIso()
の両方が常にいくつかの値を返すと思っていましたが、SIMカードを持っていた私の実際のデバイスとエミュレータが実際のものと異なる可能性があるので疑いがあります。
のSIMカードがのもので、WiFi接続のみしか持たない本物のタブレットでは、何が起こるのだろうかと思います。私はいつも一定の価値を期待できますか?または例外またはnull?
お試しいただきありがとうございます。それは多くの助け、私はこれなしでは決して知りません.. – Jenix
参考までに、私はGenymotionのPixel C Nougatエミュレータでテストしました。 PackageManager.hasSystemFeature(PackageManager.FEATURE_TELEPHONY)がtrueを返し、TelephonyManager.getSimCountryIso()とTelephonyManager.getNetworkCountryIso()の両方が文字列「us」を返しました。再度、あなたの答えは本当に役に立ちます、ありがとう! – Jenix
問題ありません!お役に立てて嬉しいです。あなたのPixel Cがエミュレータのいくつかの設定のためにtrueと "us"を返したのかどうか疑問に思います... Strange ... –