¿Hay alguna manera de abrir la Actividad de mensajería en Android con un SMS específico?Cómo abrir un SMS específico en android
12
A
Respuesta
9
threadId
debería ser el ID del SMS/MMS hilo que desea ver
Intent defineIntent = new Intent(Intent.ACTION_VIEW);
defineIntent.setData(Uri.parse("content://mms-sms/conversations/"+threadId));
myActivity.startActivity(defineIntent);
Ésta es la forma más sencilla que encontré
2
Cavé esto fuera de la fuente de la aplicación de mensajería (lines 311-315), así que estoy bastante seguro de que funcionará, pero no tengo ninguna experiencia con él.
// threadId should be the id of the sms/mms thread you want to view
long threadId = 0;
Intent i = new Intent("com.android.mms");
i.setData(
Uri.withAppendedPath(
i.getData(), Long.toString(threadId)
)
);
i.setAction(Intent.ACTION_VIEW);
+0
Creo que 'thread id' es diferente de 'sms id'? diferentes sms de una misma persona (cada uno tiene su propio id.) Pueden tener el mismo id. De subproceso. – n179911
4
Prueba este
int req_thread_id;
Uri mSmsinboxQueryUri = Uri.parse("content://sms"));
Cursor cursor1 = getContentResolver().query(
mSmsinboxQueryUri,
new String[] { "_id", "thread_id", "address", "person", "date",
"body", "type" }, null, null, null);
startManagingCursor(cursor1);
if (cursor1.getCount() > 0)
{
while (cursor1.moveToNext())
{
int thread_id = cursor1.getInt(1);
String address; = cursor1.getString(cursor1
.getColumnIndex(columns[0]));
if("your desired no".equals(address)
req_thread_id = thread_id;
}
}
Intent defineIntent = new Intent(Intent.ACTION_VIEW);
defineIntent.setData(Uri.parse("content://mms-sms/conversations/"+req_thread_id));
myActivity.startActivity(defineIntent);
0
Este fragmento es de un comentario en la respuesta aceptada. Publicando el método aquí para la posteridad.
public static long findThreadIdFromAddress(Context context, String address) {
if (address == null)
return 0;
String THREAD_RECIPIENT_QUERY = "recipient";
Uri.Builder uriBuilder = THREAD_ID_CONTENT_URI.buildUpon();
uriBuilder.appendQueryParameter(THREAD_RECIPIENT_QUERY, address);
long threadId = 0;
Cursor cursor = null;
try {
cursor = context.getContentResolver().query(
uriBuilder.build(),
new String[] { Contacts._ID },
null, null, null);
if (cursor != null && cursor.moveToFirst()) {
threadId = cursor.getLong(0);
}
} finally {
if (cursor != null) {
cursor.close();
}
}
return threadId;
}
Cuestiones relacionadas
- 1. Enviando un SMS en Android
- 2. Clase 0 SMS (SMS flash) en Android
- 3. Enviando SMS en Android
- 4. Contenido de Android SMS (contenido: // sms/enviado)
- 5. Eliminar SMS en Android 1.5
- 6. ¿Cómo analizar los SMS entrantes en Android?
- 7. Cualquier SMS API está disponible para Android para enviar SMS desde la aplicación de Android?
- 8. Cómo abrir un archivo csv en Android
- 9. SMS raw pdu en Android
- 10. Cómo asegurarse de que se envíe un SMS en Android
- 11. cómo recibir SMS de texto al puerto específico ..
- 12. ¿Cómo enviar SMS desde una aplicación de iPhone sin abrir la interfaz de SMS?
- 13. Android 1.5: leer mensajes SMS
- 14. Android: cómo marcar sms como leído enRecibir
- 15. ¿Cómo crear una aplicación de SMS en Android?
- 16. Acceso directo para abrir un archivo específico en Emacs
- 17. Acceso directo para abrir un archivo específico en Vim?
- 18. Android enviando muchos mensajes SMS
- 19. Envío de datos SMS en Android en un teléfono CDMA
- 20. desactivar la notificación de SMS en Android
- 21. Detección silenciosa de Sms android
- 22. Android - Escuchar mensajes SMS entrantes
- 23. Android - recibir SMS largos (multiparte)
- 24. Informe de entrega de SMS en Android
- 25. Establecer sms como leído en Android
- 26. android - constantes de tipo sms
- 27. Recibir SMS en la aplicación de Android
- 28. ¿Cómo abrir un archivo PDF local en WebView en Android?
- 29. ¿Cómo puedo enviar mensajes SMS en el ANTECEDENTES usando Android?
- 30. Android: Abrir una URL en un navegador
¿Cómo obtengo el ID de hilo de un sms? – Janusz
Intente buscar en el método findThreadIdFromAddress() aquí: http://code.google.com/p/android-smspopup/source/browse/trunk/SMSPopup/src/net/everythingandroid/smspopup/SmsPopupUtils.java –
@paul_sns Dead enlazar. – VickyS