:古いデバイスのために、これはgetCellLocationが呼び出されるべき場合にはnullを返すかもしれないが
。これはgetCellLocationを使用してより好ましいです。
Some sourcesこの方法はCDMA/LTEデバイスにのみ実装されていることを報告し、(GSM/LTEのものを含む)他のタイプのデバイスは、nullが返されます。実装されている場合は、LTEセルのみが返されます。
TelephonyManager.getCellLocation()
は、GSM/UMTSまたはCDMAセルのみを返します。デバイスが現在登録されている1つのセルに制限されます。これは、コードがGSM/UMTSまたはCDMAデバイス上でのみ実行されていることが確かで、デバイスが現在登録されているセルだけに興味がある場合は、最も安全な方法です。
他の周囲のセルに関する情報を取得するには、TelephonyManager.getNeighboringCellInfo()
を使用してください。しかし、GSM/UMTSセルに限定されている。また、その実装は無線ファームウェアに依存します。ほとんどのSamsungデバイス(とかなりの他のデバイス)は空のリストを返します。
結論:Androidの近くのセルに関する情報を取得することは、現時点ではかなり面倒なビジネスです。必要な情報を得るために3つの方法を組み合わせて使用する必要があります。その場合でも、一部のものにはアクセスできない可能性があります。以下
私の電話機もNexusであり、ACCESS_COARSE_UPDATES権限は表示されません。 Nexus getAllCellInfo()以外のバージョンの携帯電話では動作するかもしれないと思いますか?あなたは他の電話でそれを確認するための変更をしましたか? – mkd156
私はこれがAPIのバグであると理解しており、細胞情報を得ることはできません。私は彼らが重要なバグを修正する計画を持っていないのだろうか? – mkd156