Получите allCellInfo без включения GPS - PullRequest
0 голосов
/ 26 февраля 2020

У меня есть приложение в Kotlin, которое собирает CellID в списке. Уже протестировали это приложение на некоторых устройствах и видим, что на некоторых телефонах allCellInfo не удается получить из-за выключенного GPS.

Разрешения ACCESS_COARSE_LOCATION и ACCESS_FINE_LOCATION предоставляются, это должны быть минимальные требования.

Что можно сделать, чтобы получить allCellInfo?

Вот моя функция:

var cid = 0
fun getcids(manager: TelephonyManager): Pair<Int, String> {
    val cellInfoList = manager.allCellInfo
    if (cellInfoList != null) {
        for (networkType in cellInfoList) {
            if (networkType is CellInfoLte) {
                cid = networkType.cellIdentity.ci
                break
            }
            if (networkType is CellInfoWcdma) {
                val num = networkType.cellIdentity
                cid = num.cid
                break
            }
            if (networkType is CellInfoGsm) {
                val num = networkType.cellIdentity
                cid = num.cid
                break
            }
        }
    }
    else{
        cid = 0
        val cellInfoList = ""
    }
    return Pair(cid, cellInfoList.toString())
}
...