デュアルSIM携帯電話用のアプリケーションを作成しています。アプリケーションは、ユーザーが通話を行っている sim を検出できる必要があります。発信または着信のいずれかです。このチュートリアルを使用して、デバイスの両方の IMEI 番号を取得しようとしました。ただし、2 番目の IMEI 番号に対しては null を返します。
通話の発信中または受信中にユーザーが使用している sim を検出する必要がある方法。
これを達成する方法を提案してください。
コンソールで SIM1 タイプの状態を確認するには:
adb shell dumpsys telephony.registry
コンソールで SIM2 タイプの状態を確認するには:
adb shell dumpsys telephony.registry2
mCallState
発着信時に変更されます。通話に使用されたSIMカードを知ることができます
Java アプリケーションから呼び出す場合は、マニフェストdumpsys
に必要です。android.permission.DUMP
ただし、一部の新しいデバイスでは機能しません (「アクセス許可の拒否」で失敗します)。