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");

    }
0
Jeosh Kurian E J 30 Май 2019 в 13:46

2 ответа

Лучший ответ

Если пользователь отключил расположение устройства на устройстве под управлением Android 9, следующие методы не дают результатов:

getAllCellInfo()
listen()
getCellLocation()
getNeighboringCellInfo()
1
Jeosh Kurian E J 18 Июн 2019 в 09:24

Использование

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>

И использовать это вместо getCellLocation().

getNeighboringCellInfo()
0
sudesh regmi 30 Май 2019 в 10:54