2017-05-11 6 views
1

私はこの下のコードで最初のsimセルタワーidを得ることができます。しかし、私は2番目のSIM2細胞のIDを取得したい。デュアルsim2からセルタワーIDを取得する方法

TelephonyManager telephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE); 
    GsmCellLocation cellLocation = (GsmCellLocation) telephonyManager.getCellLocation(); 
    int nowcid = cellLocation.getCid(); 
    int nowlac = cellLocation.getLac(); 

これについて多くの質問があります。私はアンドロイド6.0 samsung j7 2016ですべてのコードをテストしましたが、sim2のセルIDを持っていませんでした。 ネットワークセル情報ライト アプリhttps://play.google.com/store/apps/details?id=com.wilysis.cellinfolite&hl=enは、テストしたすべてのデバイスでsim2からのセルIDを取得します。

+0

この問題の修正はありますか? –

答えて

0

MediaTekデバイスの場合、隠しクラス com.mediatek.telephony.TelephonyManagerExがあります。リフレクションを使用してこのクラスにアクセスします。これはMTKデバイスで信頼性が高くなるはずです。使用simIdののparamaterはSIM 0の値0を持ち、APIの説明を見つけるのは非常に難しいSIM 2値1

研究のために:http://www.lcis.com.tw/paper_store/ps_html/MediaTek_SDK_for_Android_Developers_Guide_v1_0-2016103002732388.pdf.html

を静的getDefault方法があります。

Qualcommベースの電話の場合、TelephonyManagerには隠れた方法があります。利用可能なものを確認するためにデバッガ内にちょうどTelephonyManager.class.getDeclaredMethods()があります。

関連する問題