我正在尝试理解 gmail 小部件发送的 Intent ,以在原始 Gmail 应用程序中打开邮件。如果我单击小部件中的电子邮件,我将获得以下 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
但我不知道如何显示已发送的额外内容。如果我尝试模仿这个 Action ,我只会看到 gmail 收件箱。我正在使用这段代码:
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 中抛出错误:
09-29 14:46:01.457: W/Gmail(13334): email_address in bundle is empty
但是我已经在我的 extra-bundle 中设置了 email_adress 字符串。
最佳答案
按照建议here ,在涉及其他数据对象之前,首先将最基本的数据从一个 Activity 传递到另一个 Activity 。
下一期:
But I didn't get how to display the extras which got sent.
你可以查看这个related post .您可以使用 Intent.hasExtra(String name)
检查是否在 Intent 中传递了带有 name
的额外内容。另外,使用 Intent.getStringExtra(String name)
如果没有传递任何额外内容,直接处理 NullPointerException
的 Intent 。
关于android - 在 logcat 中显示额外的 Intent ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39773499/