デュアルSIMのAndroid端末に2つのSIMカードがプログラム的に存在するかどうかを検出します。私は1つのAPI(TelephonyManager.getSIMState()
)を見つけましたが、それは通常のシングルSIM電話用です。私のデュアルSIM電話機に2つのSIMが挿入されているかどうかを検出するためのAPIはありますか?デュアルSIMのAndroid端末で2つのSIMカードの状態を検出
答えて
Androidは、少なくともSDKでは複数のSIMをサポートしていません。マルチSIMデバイスを作成したデバイスメーカは、独自にデバイスを製造しています。あなたは、あなたのデバイスの製造元に連絡して、SDKのアドオンがあるのか、それとも2番目のSIMにアクセスできるのかを確認できます。
編集:(2015年7月15日)
API 22以来、あなたはSubscriptionManager
の方法getActiveSubscriptionInfoList()
を使用して、複数のSIMを確認することができます。 Android Docsの詳細
答えに記載されているSDKのバージョンについて言及することをお勧めします。この答えが何年も後に見られると、その声明は誤解を招く恐れがあります。 – Narayanan
Android 5.2以降Android搭載のマルチSIM携帯を開始しました! – Saty
Java反射によるデュアルシムの検出にはいくつかの方法がありますが、正式には可能ではありませんが、ほとんどの場合、いくつかのハックがあります:http://stackoverflow.com/questions/14517338/android-check-whether-the-phone -is-dual-sim –
これはまあまあの証拠ではありません。しかし、あなたは二つの異なるネットワークオペレータ上にある2枚のSIMを持っている場合は、このような何か試すことができます:理想的にはSIMサービスの状態を取得します
PhoneServiceStateListener listener = new PhoneServiceStateListener(this);
tm.listen(listener, PhoneStateListener.LISTEN_SERVICE_STATE);
.
.
.
class PhoneServiceStateListener extends PhoneStateListener {
Context context = null;
public PhoneServiceStateListener(Context context) {
this.context = context;
}
public PhoneServiceStateListener() {
}
@Override
public void onServiceStateChanged(ServiceState serviceState) {
if (serviceState.getState() == ServiceState.STATE_IN_SERVICE) {
//You get this event when your SIM is in service.
//If you get this event twice, chances are more that your phone is Dual SIM.
//Alternatively, you can toggle Flight Mode programmatically twice so
//that you'll get service state changed event.
}
super.onServiceStateChanged(serviceState);
}
}
をSIMの両方のためのイベントを変更し、その後、ネットワークオペレータ名を確認することができますあなたが2枚のSIMカードを持っているかどうかを確認することができます。しかし、2つの異なるネットワーク上で2つのSIMカードを稼働させる必要があります。
どのSIMカードがアクティブであるかはどのように分かりますか? – gonzobrains
@gonzobrains:ご報告いただきありがとうございます。答えを更新しました。 – Rajkiran
これからMTKで動く携帯電話の場合、MediaTek SDKのTelephonyManagerExクラスを使用できます。
the docsをご覧ください。
[Android One](https://en.wikipedia)の標準であることを表面上[bcm_dsブランチ](https://code.google.com/p/android/issues/detail?id=14799#c26)またはMediaTek SDK .org/wiki/Android_One)。両方の[追加](https://android.googlesource.com/platform/packages/providers/TelephonyProvider/+/b09babbf321c225b14abb013a6e1ed7041c45d06/src/com/android/providers/telephony/SmsProvider.java#275) 'SmsManager.getDefault(slotId ) 'API。 Android OneとMediaTek SDKのデュアルSIM標準を同時に開始し、パートナーになりました。エンハンスメント[廃止](https://code.google.com/p/android/issues/detail?id=14799#c27) –
はいこれは非常に役に立ちます –
final SubscriptionManager subscriptionManager = SubscriptionManager.from(getApplicationContext());
final List<SubscriptionInfo> activeSubscriptionInfoList = subscriptionManager.getActiveSubscriptionInfoList();
int simCount = activeSubscriptionInfoList.size();
btnBack.setText(simCount+" Sim available");
Log.d("MainActivity: ","simCount:" +simCount);
for (SubscriptionInfo subscriptionInfo : activeSubscriptionInfoList) {
Log.d("MainActivity: ","iccId :"+ subscriptionInfo.getIccId()+" , name : "+ subscriptionInfo.getDisplayName());
}
- 1. デュアルSIMのデフォルトのSIMカードの変更
- 2. AndroidデュアルSIM両方のSIMのSim Detaisを取得する
- 3. LG-P500のSIM状態検出の問題
- 4. SIMカードのホスティングは?
- 5. スタートアップ後のAndroidスクリーンロック/キーガードSIMカードなし
- 6. SIMカードとJCREの混乱
- 7. BlackBerry:UnsupportedOperationException 5.0未満のSIMカード
- 8. Android:デュアルSIM電話でgetSimCountryIso()どのシムを返しますか?
- 9. 同じIMSIを持つ2つのSIMカード
- 10. アンドロイド3.0のSIMカードを検出するには?
- 11. SIMカードの変更を検出する(codenameOne)
- 12. Android:デュアルsdカードの検出方法
- 13. 2つのSIMカードを使ってアンドロイドでインテントを呼び出す
- 14. Android Lおよび古いデュアルSIMデバイスのTelephonyManager.getDeviceId()動作
- 15. SIMカードオペレータの検索
- 16. AndroidのSIM変更
- 17. SIMカードスロットをAndroid搭載端末のスマートカードリーダーとして使用する
- 18. アンドロイドのSIMカードをシミュレートする方法
- 19. アンドロイドのsimカードの連絡先にアクセス
- 20. サブスクリプションマネージャがデュアルSIMデバイスのIMSIを読んで、Android 5.1+を破棄しました
- 21. AndroidのSIMカードに着信メッセージを転送する
- 22. iphoneアプリでSIMカードの検出が機能していませんか?
- 23. どのようにAndroidでデュアルSIMシリアル番号を取得する
- 24. SIMカードからTMSIを取得する
- 25. モバイルデータをチェックするにはsimまたはsimから2つのアンドロイド
- 26. iPadがプログラムでSIMカードをサポートしているかどうかを検出
- 27. デュアルSIM携帯電話でSMSをAndroidに送信できない
- 28. とき、私はAndroidのSIMの初期化プロセスに係る二つのこと知りたいのですがどのようにAndroidはSIMカード情報
- 29. デュアルSIM電話でgetLine1Number()は何を返しますか?
- 30. 同時に2つ以上の番号をダイヤルすることは可能ですか?古典的なSIMベースのコール - デュアルSIMデバイス
[ここにあなたが探しているもののための完全なソリューションがある](http://stackoverflow.com/a/17499889/703851) –
は、Multisimのライブラリを使用してみてください。http://stackoverflow.com/a/41544422/1665964 –