Tengo una pregunta sobre una intención ... Intento iniciar la aplicación sms ...
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.setType("vnd.android-dir/mms-sms");
int flags = Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP |
Intent.FLAG_ACTIVITY_CLEAR_TOP;
intent.setFlags(flags);
intent.setData(Uri.parse("content://sms/inbox"));
context.startActivity(intent);
así que puedes ver que pongo demasiadas cosas en mi intento, pero eso es porque no sé cómo puedo hacerlo ... Gracias
android
sms
android-intent
Olivier69
fuente
fuente
Respuestas:
Para comenzar a lanzar la actividad de sms, todo lo que necesita es esto:
Puede agregar extras para completar su propio mensaje y cosas así.
entonces solo iniciaActivity con la intención.
fuente
sendIntent.setData(Uri.parse("sms:" + phoneNumber));
(gracias jqpubliq y jaydeepw)fuente
intent.setData(Uri.parse("smsto:" + phoneNumber));
android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.VIEW typ=vnd.android-dir/mms-sms (has extras) }
Si la versión de Android es Kitkat o superior, los usuarios pueden cambiar la aplicación de SMS predeterminada. Este método obtendrá la aplicación sms predeterminada e iniciará la aplicación sms predeterminada.
fuente
Eso es todo lo que necesitas.
fuente
Si desea iniciar la actividad de composición de SMS desde alguna de sus otras actividades y también tiene que pasar un número de teléfono y un mensaje de texto, use este código:
Nota: aquí el
sms_body
ysmsto:
es claves para reconocer el texto y teléfono en la actividad de escribir SMS, así que ten cuidado aquí.fuente
Aquí está el código que abrirá la actividad de SMS rellenada previamente con el número de teléfono al que debe enviarse el SMS. Esto funciona bien tanto en el emulador como en el dispositivo .
fuente
Utilizar
fuente
Yo suelo:
fuente
fuente
La mejor manera de hacer esto.
fuente
Puede abrir la aplicación sms predeterminada y pasar los detalles de la siguiente manera:
Nota: si desea enviar a muchos números, separe cada número con ";" cadena interior
| O | Utiliza esta función:
fuente
En kotlin esto se puede implementar fácilmente de la siguiente manera:
Esta es la respuesta modificada de @mustafasevgi
fuente
fuente
El mejor código que funciona con la aplicación de SMS predeterminada es.
fuente
El siguiente código funciona en Android 6.0.
Se abrirá la actividad de búsqueda en la aplicación de mensajería predeterminada con las conversaciones relacionadas con la cadena específica proporcionada.
Puede comenzar la actividad de búsqueda con una intención. Esto abrirá la actividad de búsqueda de la aplicación de mensajería predeterminada. Ahora, para mostrar una lista de conversaciones específicas en la actividad de búsqueda, puede proporcionar la cadena de búsqueda como cadena adicional con la clave como
como se muestra en el onCreate de esta clase
También puede pasar el SENDER_ADDRESS de los sms como cadena adicional, que enumerará todas las conversaciones con esa dirección de remitente específica.
Consulte com.android.mms.ui.SearchActivity para obtener más información.
También puedes consultar esta respuesta
fuente
en emulador este trabajo para mí
fuente
Intención de SMS:
fuente
Redactar SMS:
fuente
Puede usar esto, ambos funcionan bien en Android por encima de 4.4
o
fuente
Puede usar el siguiente fragmento de código para lograr su objetivo:
Si no desea ningún texto, elimine la clave sms_body.
fuente