Ich versuche zu verstehen, die Absicht, die durch das Google Mail-Widget zum Öffnen von Nachrichten in der ursprünglichen Gmail-App sendet. Wenn ich auf eine E-Mail in das Widget klicken, werde ich die folgende Logcat Ausgabe:Anzeige Absicht Extras in Logcat
09-29 14:42:51.312: I/ActivityManager(1550): START u0
{act=android.intent.action.VIEW
dat=content://com.google.android.gm.email.provider/uimessage/87?threadOp=true&appVersion=58454703&folderUri=content://com.google.android.gm.email.provider/uifolder/1 typ=application/gm-email-ls flg=0x1000c000 pkg=com.google.android.gm cmp=com.google.android.gm/.ui.MailActivityGmail (has extras)} from uid 10066 on display 0
Aber ich habe nicht bekommen, wie die Extras anzuzeigen, die senden bekam. Wenn ich versuche, die Aktion nachzuahmen, sehe ich nur den Gmail-Posteingang. Ich bin mit diesem Code:
Intent defineIntent =new Intent(Intent.ACTION_VIEW, Uri.parse("content://com.google.android.gm.email.provider/uimessage/86?threadOp=true&appVersion=58454703&folderUri=content://com.google.android.gm.email.provider/uifolder/1"));
Bundle extra = new Bundle();
extra.putString("exchange_username", "XXX");
extra.putString("email_address", "XXXX");
defineIntent.setType("application/gm-email-ls");
defineIntent.setPackage("com.google.android.gm");
defineIntent.setClassName("com.google.android.gm", "com.google.android.gm.ui.MailActivityGmail");
defineIntent.putExtras(extra);
defineIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(defineIntent);
Nach der Inbox ist die gmail app gezeigt wirft einen Fehler in logcat:
09-29 14: 46: 01,457: W/Gmail (13334): email_address im Bündel ist leer
Aber ich habe die email_adress Schnur in meinem Extrabündel eingestellt.
Ja, sicher. Aber nur, wenn die Absicht zu meiner eigenen Anwendung gesendet wurde. Ich kann sehen, dass Intents von anderen Anwendungen gesendet wurden, die im Emulator in meinem Logcat installiert sind, aber die Extras nicht sehen (nur der Hinweis: "Hat Extras"). –