getAllCellInfo()
возвращает пустой список в honor 9n
. Я использую для получения идентификатора ячейки и кода местоположения. Итак, что я буду делать, чтобы получить идентификатор ячейки и код области местоположения.
Я тоже пробовал getCellLocation()
. И я получил идентификатор ячейки и код зоны местоположения, когда GPS
включен. Я хочу получить идентификатор ячейки и код зоны местоположения, когда GPS
находится в выключенном состоянии (ОС Android Oreo).
TelephonyManager tel = (TelephonyManager) getContext().getSystemService(Context.TELEPHONY_SERVICE);
if (ActivityCompat.checkSelfPermission(getContext(), Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED &&
ActivityCompat.checkSelfPermission(getContext(), Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
// TODO: Consider calling
// ActivityCompat#requestPermissions
// here to request the missing permissions, and then overriding
// public void onRequestPermissionsResult(int requestCode, String[] permissions,
// int[] grantResults)
// to handle the case where the user grants the permission. See the documentation
// for ActivityCompat#requestPermissions for more details.
return;
}
CellLocation gsmCellLocation1 = tel.getCellLocation();
if (gsmCellLocation1!=null){
Log.e("gsmCellLocation1: ", String.valueOf(gsmCellLocation1));
}else{
Log.e("gsmCellLocation1: ", "nul 1");
}
GsmCellLocation location33 = (GsmCellLocation) tel.getCellLocation();
if (location33!=null){
Log.e("location33: ", String.valueOf(location33));
}else{
Log.e("location33: ", "nul 33");
}
final List<CellInfo> gsmCellLocation2 = tel.getAllCellInfo();
if (gsmCellLocation2!=null){
Log.e("gsmCellLocation2: ", String.valueOf(gsmCellLocation2));
}else{
Log.e("gsmCellLocation2: ", "nul 2");
}
использовать
<uses-permission android:name = "android.permission.ACCESS_COARSE_LOCATION"/>
и используйте это вместо getCellLocation().
getNeighboringCellInfo()
Если пользователь отключил определение местоположения устройства на устройстве под управлением Android 9, следующие методы не дают результатов:
getAllCellInfo()
listen()
getCellLocation()
getNeighboringCellInfo()
У меня была та же проблема, мой код работал на устройствах с версией Android ниже 9. Когда местоположение устройства отключено, getAllCellInfo() возвращает пустой список на устройстве Android 9, на котором я тестирую. Когда местоположение устройства включено, все работает нормально.
Я уже использую это разрешение, и я уже пробовал getNeighboringCellInfo(), он также возвращает пустой список