私は元のGmail-Appのメッセージを開くためにgmail-widgetによって送信されるインテントを理解しようとしています。私はウィジェットにEメールをクリックすると、私は次のLogcat出力が得られます: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
しかし、私は送ってましたエキストラを表示する方法を取得できませんでした。アクションを模倣しようとすると、Gmailの受信トレイしか表示されません。私はこのコードを使用しています:
9月29日14:46:01.457:受信トレイが示されている
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);
後GmailアプリはlogcatでエラーをスローW/Gmailの(13334)。バンドル内のemail_addressが空です
ただし、私は余分なバンドルにemail_adress文字列を設定しました。
はい、確かです。しかし、インテントが自分のアプリケーションに送信された場合に限ります。インテントはLogcatのエミュレータにインストールされている他のアプリケーションから送信されたが、エクストラは表示されませんでした(ちょっとヒント: "Has Extras")。 –