Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


API de SMS de Android

Sé que el proveedor de contenido de SMS no es parte de la API pública (al menos no se documenta), pero si entiendo correctamente todavía es posible utilizar muchas de las características de SMS siempre y cuando sepa cómo utilizar la API (?).

Por ejemplo, es bastante sencillo insertar un SMS en su bandeja de entrada:

ContentValues values = new ContentValues(); values.put("address", "+457014921911"); contentResolver.insert(Uri.parse("content://sms"), values); 

Desafortunadamente, esto no activa la notificación "new-SMS-in-your-inbox" estándar. ¿Es posible desencadenar esto manualmente?

Editar : AFAIK la "aplicación de correo estándar (Mensajería)" en Android está escuchando SMS entrantes utilizando el permiso android.permission.RECEIVE_SMS. Y entonces, cuando un nuevo SMS ha llegado, una notificación de la barra de estado se inserta con un identificador de notificación "especial". Así que una solución a mi problema (indicado anteriormente) podría ser encontrar y enviar la intención de difusión correcta; Algo como "NUEVO SMS HA LLEGADO" -intent.

Edit : Descargó una aplicación de mensajería de terceros ( chompsms ) del mercado de Android. Esta aplicación satisface mejor mis necesidades. Cuando ejecuto el código por encima de los chompsms aviso de los nuevos sms y muestra la "notificación de la barra de estado estándar". Así que yo diría que la aplicación estándar de mensajería de Android no es detectar sms correctamente? ¿O estoy equivocado?

3 Solutions collect form web for “API de SMS de Android”

Desafortunadamente, el código responsable de estas notificaciones está oculto en la aplicación de mensajería . La clase MessagingNotification tiene un updateAllNotifications método updateAllNotifications que usted podría llamar usando un PathClassLoader y una reflexión:

 PathClassLoader c = new PathClassLoader("/system/app/Mms.apk", getClassLoader()); Class.forName("com.android.mms.util.ContactInfoCache", true, c) .getMethod("init", Context.class).invoke(null, context); Class.forName("com.android.mms.transaction.MessagingNotification", true, c) .getMethod("updateAllNotifications", Context.class).invoke(null, context); 

Esto es, obviamente, una muy mala idea por varias razones, pero no puedo pensar en otra manera de hacer lo que describió.

¿Podría activar una notificación PUSH después del SMS?

Autor Tema: ¿Soporta Android cerca de notificación push en tiempo real?

Tal vez debería reemplazar

 content://sms 

con

 content://sms/inbox 
FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.