0
私はアンドロイドを初めて使いました。私は電話で観測されるすべてのセル情報を収集するプロジェクトに取り組んでいます。私はTelephonyManager.getAllCellInfo()
メソッドを使用しましたが、常にnull
を返します。Android getAllCellInfo()がnullを返します
マイコード::
public class NetworkCoverageActivity extends AppCompatActivity {
private String str;
private TextView TV;
private Button getCellsInfoBtn;
private TelephonyManager TM;
private List<CellInfo> cellInfoList;
private PhoneStateListener PSL;
private int event;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_network_coverage);
TV = (TextView)findViewById(R.id.iv);
getCellsInfoBtn = (Button)findViewById(R.id.getCellsInfoBtn);
TM = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);
PSL = new PhoneStateListener();
event = PSL.LISTEN_CELL_INFO | PSL.LISTEN_CELL_LOCATION;
getCellsInfoBtn.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
TM.listen(PSL, event);
cellInfoList = TM.getAllCellInfo();
if(cellInfoList != null)
TV.append("cellInfoList = null");
else{
...
}
}
});
}
私はアンドロイド4.4.2レベル17で作業して17にAPIレベルMin設定と私はGSMネットワークから情報を収集しようとしています。
また、私はAndroidManifest.xml
に次の権限を追加しました:私は私の質問の解決策を持っている
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
可能重複http://stackoverflow.com/questions/16541172/getallcellinfo-returns-null-in-android-4-2-1 – Entea
サムスン、Huawei社などのデバイスの中には、これらを持っていません常にnullを返すAPI –
ドキュメントごと:このメソッドは、getCellLocation()を使用するよりも優先されます。ただし、古いデバイスの場合、getAllCellInfo()はnullを返すことがあります。このような場合は、代わりにgetCellLocation()を呼び出す必要があります。また、情報が利用できない場合、nullが返されます。 –