2017-07-27 9 views
1

私はAndroidのコーディングには非常に新しく、今まで多くの楽しみを持っています。私は、特にLTEのためにテレフォニーマネージャを使用している問題に悩まされています。私のgetCi()メソッドは正しい値を返しますが、必要な形式ではありません。たとえば、返される値は25605です。この番号を取得し、アプリに表示させる正しいノードB IDとセルIDの値を作成するのに、どのコードを使用できますか?LTEのためのTelephony Manager getCi()が必要です

TelephonyManager tm = (TelephonyManager) this.getSystemService(Context.TELEPHONY_SERVICE); 


    List<CellInfo> cellInfos = tm.getAllCellInfo(); 

    for(CellInfo cellInfo : cellInfos) 
    { 
     //CellInfoWcdma cellInfoWcdma = (CellInfoWcdma) cellInfo; 
     CellInfoLte cellInfoLte = (CellInfoLte)cellInfo; 
     //CellInfoGsm cellInfoGsm = (CellInfoGsm)cellInfo; 

     //CellIdentityWcdma cellIdentityWcdma = cellInfoWcdma.getCellIdentity(); 
     //CellSignalStrengthWcdma cellSignalStrengthWcdma = cellInfoWcdma.getCellSignalStrength(); 
     CellIdentityLte cellIdentityLte = cellInfoLte.getCellIdentity(); 
     CellSignalStrengthLte cellSignalStrengthLte = cellInfoLte.getCellSignalStrength(); 

     netId = cellIdentityLte.getCi(); 
     netId2 = cellSignalStrengthLte.getLevel(); 
     //netId = cellIdentityWcdma.getCid() & 0xffff; 
     //netId2 = cellSignalStrengthWcdma.getAsuLevel(); 
     //netId3 = netId2*2 -113; 

NTERコードcellIdentityLte.getCi(のここ

+0

これまで自分で試したことはありますか?私たちはコードを書くつもりはありませんが、私たちはあなたのことを見て助けてくれるのが大好きです。参考までに、https://stackoverflow.com/help/how-to-askを読んでください。また、これはネットワークの状態を検出するのに役立ちます:https://gist.github.com/emil2k/5130324? – BenRoob

+0

私は以下を書いています。ご覧のとおり、私はLTEの部分をテストするためにGSmとWCDMAの部分をコメントアウトしました。他の技術は成功しており、情報を正しく得ることができます。それは私が苦労しているLTEだけです:CellIdentityLte cellIdentityLte = cellInfoLte.getCellIdentity(); CellSignalStrengthLte cellSignalStrengthLte = cellInfoLte.getCellSignalStrength(); netId = cellIdentityLte.getCi(); netId2 = cellSignalStrengthLte.getLevel(); – Avi909gp

+0

@ Avi909gp私は同じことを見つけようとしています。 cellIdentityLte.getCi()の出力をeNodeB idとセルIDまたは物理セルIDに変換する方法があります。あなたはすでに答えを見つけましたか? – vladiz

答えて

0

値)あなたがHEXに変換する必要があります。

次に、最後の2つの記号をDECに変換し、これがローカルセルIDです。

DECに変換する残りの記号(最後の2つの記号を除く)はeNodeBです。

Javaは分かりませんが、ここではExcelの式が使用されています。私はあなたがE2が、私はこれをテストし、セル構成をチェックしたcellIdentityLte.getCiの出力()

あるロジック

eNodeB =HEX2DEC(LEFT(DEC2HEX(E2),LEN(DEC2HEX(E2))-2)) 
Local_Cell_ID =HEX2DEC(RIGHT(DEC2HEX(E2),2)) 

を得るだろうと思います。値は同じです。

関連する問題