6

携帯電話の電話信号強度をプログラムで測定したい。私は実際には携帯電話やプログラミング環境を気にしません。AndroidやWindowsMo​​bile、さらにはJ2MEをベースにすることができ、どのメーカーのものでもかまいません(iPhoneは使用しないでください)。ただし、特別な測定装置ではなく、実際の商用携帯電話である必要があります。

この問題は、一見したところほど簡単ではありません。電話の信号強度を返すと主張する方法がすでにいくつか存在することを私は知っています。これらのいくつかは次のとおりです。

  • WM6のSystemState.PhoneSignalStrength
  • WinCeのRIL_GetCellTowerInfo(返されたRILCELLTOWERINFO構造体のdwRxLevelメンバー)
  • android.telephony.NeighboringCellInfo.getRssi()for android

上記の問題は、それらが少数の(10未満の)離散値しか返さないことです。つまり、たとえば、SystemState.PhoneSignalStrengthの戻り値は、(たとえば)-100 dbm、-90 dbm、-にしか変換できません。 80 dbm、-70 dbm、および-60 dbmは、可能な限り精度を高めたいので、私のアプリケーションには役立ちません。

1台の電話でしか機能しない文書化されていない解決策があるかどうかは関係ありません。私が感謝する方法を教えていただければと思います。

前もって感謝します

4

4 に答える 4

2

お使いの携帯電話で測定されたリアル GSM 信号を取得する方法を説明する優れたチュートリアルがあります。このチュートリアルを試してください。

http://www.firstdroid.com/2010/05/12/get-provider-gsm-signal-strength/

それが役立つことを願って、

エイドリアン。

于 2010-06-02T05:39:18.533 に答える
2

まだ答えを探している人のために見つけた解決策は次のとおりです。

一部の Windows モバイル HTC 携帯電話には、fieldtest.exe というプログラムがあり、必要な情報が含まれています (おそらく他の電話にもあります。特定の HTC でのみテストしましたが、Google で検索すると、ほとんどの HTC WM 電話であることがわかります)。 . フィールドテスト プログラムは、電話の正確な信号強度だけでなく、他の方法ではアクセスできない非常に有用な電話情報を大量に取得します。

唯一の問題は、すべての値が ListView に格納されているため、プロセスでそのプログラムのデータをどのように使用できるかです。

さて、それは私が投稿した別の質問のポイントでした.

したがって、解決策は fieldtest プログラムを実行し、そこから必要な値を抽出/盗むことです!

于 2010-03-31T10:17:27.737 に答える
1

WindowsCEプラットフォームでは、これは難しい場合があります。私が取り組んだ最後のプラットフォームは、直接アクセスして独自の情報を取得できるシーメンスモデムを使用していました。しかし、彼らの最後のファームウェアアップデート以来、彼らは今これを閉じて、私にRILを経由することを強制しました。

私はあなたが特定のモデムを備えた特定のユニットを見つけなければならないかもしれないと推測しています。しかし、特に何も知りません。ごめん。:(

于 2009-12-04T13:49:22.073 に答える