Google se compromete a impulsar la igualdad racial para las comunidades afrodescendientes. Obtén información al respecto.
Se usó la API de Cloud Translation para traducir esta página.
Switch to English

Personalización del comportamiento del dispositivo para usuarios en desequilibrio

Los dispositivos Android sin balance de datos permiten el tráfico de red, lo que requiere que los operadores y las empresas de telecomunicaciones implementen protocolos de mitigación. Android implementa una solución genérica que permite a los operadores y empresas de telecomunicaciones indicar cuando un dispositivo se ha desequilibrado.

La plataforma Android proporciona una aplicación de operador predeterminada con un comportamiento predeterminado para la mitigación del tráfico según la señal de detección del portal cautivo. También brinda a los transportistas y fabricantes de equipos originales la oportunidad de personalizar el comportamiento con un bajo costo y gran flexibilidad.

Ejemplos y fuente

La aplicación de operador predeterminada se encuentra en platform/frameworks/base/packages/CarrierDefaultApp/ .

Implementación

La aplicación de operador predeterminada está configurada para brindar una mejor experiencia a los operadores no configurados de inmediato. Los transportistas pueden utilizar este comportamiento predeterminado. También pueden anular el comportamiento predeterminado agregando asignaciones de señal-acción al archivo XML de configuración del operador. Pueden decidir no usar la aplicación predeterminada y, en su lugar, usar los privilegios de UICC con su propia aplicación de operador independiente.

Introducción a la implementación

Señales

El marco de Android admite la configuración de acciones para las siguientes señales parametrizadas:

  • TelephonyIntents.ACTION_CARRIER_SIGNAL_REDIRECTED
  • TelephonyIntents.ACTION_CARRIER_SIGNAL_REQUEST_NETWORK_FAILED

Estas señales se encuentran en frameworks/base/telephony/java/com/android/internal/telephony/TelephonyIntents.java .

Acciones apoyadas

La aplicación de operador predeterminada define un conjunto de acciones admitidas que se pueden asignar a señales admitidas. Estos se definen en CarrierActionUtils.java :

    public static final int CARRIER_ACTION_ENABLE_METERED_APNS               = 0;
    public static final int CARRIER_ACTION_DISABLE_METERED_APNS              = 1;
    public static final int CARRIER_ACTION_DISABLE_RADIO                     = 2;
    public static final int CARRIER_ACTION_ENABLE_RADIO                      = 3;
    public static final int CARRIER_ACTION_SHOW_PORTAL_NOTIFICATION          = 4;
    public static final int CARRIER_ACTION_SHOW_NO_DATA_SERVICE_NOTIFICATION = 5;
    public static final int CARRIER_ACTION_CANCEL_ALL_NOTIFICATIONS          = 6;

Nota: Si un operador implementa su propia aplicación independiente, entonces puede implementar soporte para señales distintas de las mencionadas en esta sección. También pueden definir y configurar sus propias acciones.

Asignaciones de señal-acción predeterminadas

Configure las acciones predeterminadas siguiendo este proceso:

  1. Defina una clave para las señales admitidas.

    Las asignaciones de señal a acción predeterminadas se definen en CarrierConfigManager.java . Cada una de las señales admitidas tiene una clave:

    public static final String KEY_CARRIER_DEFAULT_ACTIONS_ON_REDIRECTION_STRING_ARRAY = "carrier_default_actions_on_redirection_string_array";
    public static final String KEY_CARRIER_DEFAULT_ACTIONS_ON_DCFAILURE_STRING_ARRAY =
    "carrier_default_actions_on_dcfailure_string_array";
    
  2. Asociar acciones predeterminadas a claves de señalización.

    Los ID de acción predeterminados están asociados a las claves de señales:

    sDefaults.putStringArray(KEY_CARRIER_DEFAULT_ACTIONS_ON_REDIRECTION_STRING_ARRAY,                new String[]{
                    "1, 4"
                    //1: CARRIER_ACTION_SHOW_PORTAL_NOTIFICATION
                    //4: CARRIER_ACTION_DISABLE_METERED_APNS
             });
    

    El marco de telefonía mapea estas acciones con las señales correspondientes.

Anular las acciones predeterminadas

Puede definir acciones personalizadas para señales admitidas en el archivo XML de configuración de operador asociando ID de acción a las claves de señal (definidas en CarrierConfigManager.java ). Por ejemplo, la siguiente asignación deshabilita los APN medidos y muestra una notificación del portal sobre la redirección:

<string-array name="carrier_default_actions_on_redirection_string_array" num="2">
            <item value="1" />
            <item value="4" />
</string-array>

El marco de telefonía carga estas configuraciones y anula las acciones predeterminadas.

Validación

No hay pruebas CTS, CTS Verifier o GTS para esta función.

Utilice estas pruebas de validación manual para validar la función:

  1. Valide la notificación de señal de desequilibrio del dispositivo de telecomunicaciones.
  2. Verifique la limitación de la redirección del tráfico durante el estado de desequilibrio y el Wi-Fi desactivado.
  3. Verifique que el tráfico de la red esté desactivado y que la interfaz de usuario de notificación aparezca durante el estado de desequilibrio.
  4. Valide la función de llamada de voz / VoLTE durante el estado de desequilibrio.
  5. Verifique que las videollamadas estén bloqueadas en estado de desequilibrio.
  6. Con Wi-Fi activado, verifique que el usuario pueda continuar navegando por la web y que el tráfico de navegación no encienda el tráfico de la red mientras está en el estado de desequilibrio.
  7. Valide las funciones de Wi-Fi, WFC y Bluetooth durante el estado de desequilibrio.
  8. Apague el Wi-Fi. Verifique la interfaz de usuario de notificación de desequilibrio y que el tráfico de navegación normal no se redirija al sitio web de registro de empresas de telecomunicaciones. Verifique que al hacer clic en el enlace en la interfaz de usuario de notificación, el navegador acceda al sitio web de registro de empresas de telecomunicaciones.
  9. Verifique que alternar el modo avión no restablece el estado de limitación del tráfico.
  10. Verifique que el intercambio de una SIM en servicio restablezca el estado del tráfico de la red.
  11. Verifique que al volver a insertar la SIM desequilibrada se reinicia la redirección del tráfico y se obtiene nuevamente la limitación del tráfico de la red.
  12. Verifique que al reiniciar el teléfono se reactive la redirección y se recupere el acelerador de tráfico y la interfaz de usuario de notificaciones.
  13. Toque la notificación "cautiveportal". Verifique que se establezca una conexión de red restringida para permitir que el usuario agregue créditos.
  14. Verifique que la recarga o reactivación del saldo de la SIM haga que el tráfico de la red celular se recupere y que el enlace Telco y la notificación de no saldo desaparezcan.
  15. Prueba de cordura después de la recuperación del servicio de datos.

La aplicación predeterminada proporciona algunos ejemplos de pruebas unitarias y un script para ejecutarlas (consulte tests/runtest.sh ). Cuando implementa una versión o comportamiento personalizado, debe reflejar esas personalizaciones en pruebas unitarias dedicadas.