es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Quiero utilizar requestCellInfoUpdate en Android 9.

Estoy usando la devolución de llamada requestCellInfoUpdate() para obtener los últimos resultados de información de celda. Funciona bien en la versión Q de Android y superior, pero cuando lo uso en versiones anteriores a la 10, la aplicación se bloquea. Mi objetivo es obtener continuamente los últimos resultados de información de celda en todas las versiones de Android. Espero su respuesta. Es extremadamente importante para mí.
¡Gracias!

java
telephonyManager.requestCellInfoUpdate(this.getMainExecutor(), new TelephonyManager.CellInfoCallback() {
@Override
public void onCellInfo(@NonNull List<cellinfo> cellInfos) {
Toast.makeText(MainActivity.this, "Helsinki", Toast.LENGTH_SHORT).show();
cellInfoList.clear();
for (int i = 0; i < cellInfos.size(); i++) {
CellInfo cellInfo = cellInfos.get(i);
if (cellInfo.isRegistered())
cellInfoList.add(cellInfo);
}
bindValues();
}
});

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Parece que el problema está relacionado con la compatibilidad del callback requestCellInfoUpdate() con las versiones de Android anteriores a la 10. Para obtener continuamente los últimos resultados de información de celda en todas las versiones de Android, puedes intentar usar el método obsoleto getAllCellInfo() en lugar de requestCellInfoUpdate().

    Puedes utilizar el siguiente fragmento de código para obtener los resultados de información de celda en todas las versiones de Android:

    List<cellinfo> cellInfos = telephonyManager.getAllCellInfo();
    if (cellInfos != null) {
        for (int i = 0; i < cellInfos.size(); i++) {
            CellInfo cellInfo = cellInfos.get(i);
            if (cellInfo.isRegistered())
                cellInfoList.add(cellInfo);
        }
        bindValues();
    }
    

    Ten en cuenta que getAllCellInfo() puede que no siempre devuelva resultados válidos, y es posible que debas manejar las listas nulas o vacías de forma adecuada. Además, asegúrate de añadir los permisos necesarios para acceder a la información de telefonía en el archivo de manifiesto.

    ¡Espero que esto ayude! Avísame si tienes alguna otra pregunta.

Comments are closed.