Es posible, pero google se ha asegurado de que sea imposible. Me pasé un par de horas tratando de hacer que funcione:
- apretó el Gmail.apk de mi teléfono raíces.
- Lo compiló usando apktools.
- fue por arriba del manifest.xml
2 Actividades parecen ser útiles para ello:
actividad android: theme = "@ android: estilo/Theme.Light.NoTitleBar" android: label = "@ string/activity_conversation" android: name = "HtmlConversationActivity" android: configChanges = "keyboardHidden | orientación"
y
actividad android: label = "@ string/activity_search" android: name = "SearchActivity"
Ambos de ellos no tienen la intención filtros por lo que no se les puede llamar. Si intenta obtendrá negación
permiso: a partir Intención {actuar = android.intent.action.VIEW flg = 0x10000000 cmp = com.google.android.gm/.HtmlConversationActivity} {ProcessRecord de 40b7d248 26043: bobina.gmailresearch/10154} (pid = 26043, uid = 10154) requiere nula
Podría ser posible utilizando la com.google.android.gm.ConversationListActivity. embargo, el código debe ser ofuscado y no me molesta para obtener el código fuente de la Gmail.apk para verificar la cual las banderas que utilizan ...
EDIT: Bueno Aceptar que se molestó en comprobarlo, y sorprendente suficiente Google no ofuscó su aplicación de Gmail :) Así que pude obtener el código fuente de la APK. Hice algunas excavaciones y esto es lo que encontré ...
La actividad relevante es ConverstaionListActivity.
En el Manifest.xml tiene la intención de este filtro:
acción android: name = "android.intent.action.SEARCH" />
Como inspeccioné el código de la actividad descubrí que hay 3 cadenas esperadas para obtener como extra:
public static final String EXTRA_LABEL = "label";
public static final String EXTRA_SEARCH = "search";
public static final String EXTRA_TITLE = "title";
Anyways. línea de botón, no puede abrir una conversación específica. pero puede pasar una consulta de búsqueda que mostrará solo su conversación específica de todos los correos que tiene el usuario.
Intent mailClient = new Intent(Intent.ACTION_SEARCH); mailClient.setClassName("com.google.android.gm", "com.google.android.gm.ConversationListActivity"); mailClient.putExtra("query", "15 Apps for Programming");
startActivity(mailClient);
esto parece no funcionar más. Solo lo intenté. ¿Ha tenido alguien algún éxito con esto? – Enigma
Sí Esto ya no funciona ... –