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.

Android 11: El receptor de difusión no captura los SMS entrantes.

Mi receptor de difusión ya no funciona desde que actualicé mi tableta (Android 10 en Galaxy Tab Active 2). No hubo actualización o cambio de la aplicación. Así que no tengo idea de qué está mal ahora.

El manifiesto no ha cambiado:

    <!-- SMS Receiver -->
    <receiver android:name=".services.sms.SMSReceiver_BroadcastReceiver" android:exported="true">
        <intent-filter android:priority="999">
            <action android:name="android.provider.Telephony.SMS_RECEIVED"></action>
        </intent-filter>
    </receiver>

Los permisos siguen siendo los mismos:

<uses-permission android:name="android.permission.RECEIVE_SMS"></uses-permission>
<uses-permission android:name="android.permission.READ_SMS"></uses-permission>

Pero el receptor de difusión no está haciendo su trabajo:

public class SMSReceiver_BroadcastReceiver extends BroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent) {
    if (intent.getAction().equals(SMS_RECEIVED)) {
           Toast.makeText(context, "SMS received", Toast.LENGTH_LONG).show();
    }
}

...

¿Dónde está el fallo?
¿Es responsable de esto una actualización de seguridad, para la cual tengo que implementar código adicional?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Podría haber varias razones por las cuales el Receptor de Difusión ya no funciona después de actualizar la tableta a Android 10. Una posibilidad es que Android 10 haya introducido nuevas restricciones para el uso de ciertos permisos, incluyendo RECEIVE_SMS y READ_SMS. Para verificar si este es el problema, el usuario puede ir a la configuración de la tablet, navegar hasta la aplicación que utiliza el Receptor de Difusión y verificar si los permisos siguen habilitados. Si no lo están, el usuario puede intentar habilitarlos manualmente.

    Otra posibilidad es que el targetSdkVersion de la aplicación no esté establecido en 29 o superior, lo cual es necesario para las aplicaciones que apuntan a Android 10. El usuario puede verificar el archivo build.gradle de la aplicación para ver si este es el caso, y si es así, actualizar el targetSdkVersion a 29 o superior.

    Por último, es posible que Android 10 haya introducido cambios en la forma en que se registran los Receptores de Difusión en el manifiesto. El usuario puede revisar las notas de lanzamiento y documentación de Android 10 para ver si hay cambios que deban hacerse en el manifiesto para que los Receptores de Difusión funcionen correctamente.

    Es poco probable que una actualización de seguridad sea responsable de este problema, pero siempre es una buena idea mantener la aplicación actualizada con los últimos parches de seguridad para asegurarse de que la aplicación sea segura y compatible con la última versión de Android.

Comments are closed.