У меня есть приложение в 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())
}