Android Get NR -клетки в случае 5G АНБAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Android Get NR -клетки в случае 5G АНБ

Сообщение Anonymous »

С*#*#4636#*#*< /code> меню (после выбора слота SIM -карты), когда телефон находится в области 5G АНБ. Существует две таблицы: < /p>

LTE с 4G -клетками < /li>
nr Show с 5G -клетками < /li> < /br /> < /li>
nr с 5G -клетками < /li> < /br /> < /li>
nr. Таблица LTE и после немедленного таблицы NR. В вкладке «Информация» внизу на мгновение она отображает CellInfo для клеток LTE, и после немедленного оно сообщает NR cellinfo .. < /p>
Это поведение продолжается: LTE - NR - LTE - NR - LTE - NR - ... < /p>
Но если я использую Android 14+, чтобы получить Allcellinfo It It Lyfo It Lyfo It Tho Is Lot me the lte. За 4 секунды, но это вообще не помогло ..
Любая идея о том, как я могу получить ячейки LTE+NR в случае типа сети 5G NSA? Ссылка
edit3:
@RequiresApi(Build.VERSION_CODES.Q)
class MainActivity : ComponentActivity() {
private lateinit var telephonyManager: TelephonyManager
private val cellInfoList = mutableStateListOf()

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
telephonyManager = getSystemService(Context.TELEPHONY_SERVICE) as TelephonyManager

requestPermissionsIfNeeded()

setContent {
MaterialTheme {
CellInfoScreen(cellInfoList)
}
}

startRepeatingUpdates()
}

private fun requestPermissionsIfNeeded() {
val permissions = arrayOf(
Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.READ_PHONE_STATE
)
ActivityCompat.requestPermissions(this, permissions, 1)
}

private fun startRepeatingUpdates() {
lifecycleScope.launch {
while (isActive) {
val info = telephonyManager.allCellInfo
if (info != null) {
cellInfoList.clear()
cellInfoList.addAll(info)
}
delay(200)
}
}
}
}

@Composable
fun CellInfoScreen(cellInfoList: List) {
LazyColumn {
items(cellInfoList.size) { index ->
val cellInfo = cellInfoList[index]
Card(
modifier = Modifier
.fillMaxWidth()
.padding(4.dp),
elevation = CardDefaults.cardElevation(defaultElevation = 4.dp)
) {
Column(modifier = Modifier.padding(8.dp)) {
Text("Type: ${cellInfo.javaClass.simpleName}")
Text("Registered: ${cellInfo.isRegistered}")
Text("CI: ${getCi(cellInfo)}")
Text("PCI: ${getPci(cellInfo)}")
Text("TAC: ${getTac(cellInfo)}")
Text("ARFCN: ${getArfcn(cellInfo)}")
Text("Signal: ${getSignalStrength(cellInfo)}")
}
}
}
}
}

fun getCi(info: CellInfo): Int? = when (info) {
is CellInfoLte -> info.cellIdentity.ci
is CellInfoNr -> info.cellIdentity.nci.toInt()
is CellInfoWcdma -> info.cellIdentity.cid
is CellInfoGsm -> info.cellIdentity.cid
else -> null
}

fun getPci(info: CellInfo): Int? = when (info) {
is CellInfoLte -> info.cellIdentity.pci
is CellInfoNr -> info.cellIdentity.pci
else -> null
}

fun getTac(info: CellInfo): Int? = when (info) {
is CellInfoLte -> info.cellIdentity.tac
is CellInfoNr -> info.cellIdentity.tac
else -> null
}

fun getArfcn(info: CellInfo): Int? = when (info) {
is CellInfoLte -> info.cellIdentity.earfcn
is CellInfoNr -> info.cellIdentity.nrarfcn
is CellInfoWcdma -> info.cellIdentity.uarfcn
is CellInfoGsm -> info.cellIdentity.arfcn
else -> null
}

fun getSignalStrength(info: CellInfo): String = when (info) {
is CellInfoLte -> "${info.cellSignalStrength.dbm} dBm"
is CellInfoNr -> "${info.cellSignalStrength.dbm} dBm"
is CellInfoWcdma -> "${info.cellSignalStrength.dbm} dBm"
is CellInfoGsm -> "${info.cellSignalStrength.dbm} dBm"
else -> "N/A"
}


Подробнее здесь: https://stackoverflow.com/questions/796 ... -of-5g-nsa
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»