如何使用Google即时自我意图?

时间:2013-04-12 19:52:52

标签: android gmail

我知道这不是最佳做法,但我想使用thr Note To Self意图在后台发送电子邮件。我找到了Keep使用的AUTO_SEND意图,但我似乎无法打开Gmail或保持使用它 - 它们不显示在活动选择器中,只有Evermore和Notif这样做。

以下是我正在尝试的内容:

    Intent mailClient = new Intent("com.google.android.gm.action.AUTO_SEND");
    mailClient.setClassName("com.google.android.gm", "com.google.android.gm.AutoSendActivity");
    startActivity(mailClient);

但是,我仍然收到错误 -

04-12 15:06:28.393: W/ActivityManager(443): Permission Denial: starting Intent { act=com.google.android.gm.action.AUTO_SEND cmp=com.google.android.gm/.AutoSendActivity } from ProcessRecord{41adee50 11298:com.email_to_self/u0a10113} (pid=11298, uid=10113) requires com.google.android.gm.permission.AUTO_SEND

我通过

将权限添加到我的清单中
<uses-permission android:name="com.google.android.gm.permission.AUTO_SEND"> 

但问题仍然存在。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

你不能。

此操作由此活动处理,需要权限com.google.android.gm.permission.AUTO_SEND

    <activity android:name="com.google.android.gm.AutoSendActivity"
              ...
              android:permission="com.google.android.gm.permission.AUTO_SEND">

        <intent-filter android:label="@string/app_name">
            <action android:name="com.google.android.gm.action.AUTO_SEND" />
            <category android:name="android.intent.category.DEFAULT" />
            <data android:mimeType="*/*" />
        </intent-filter>
    </activity>

此权限在Gmail的清单中定义,并且仅限于Google的应用程序(或者更准确地说是使用与Gmail相同的密钥签名)。

<permission android:name="com.google.android.gm.permission.AUTO_SEND"
            android:permissionGroup="android.permission-group.MESSAGES"
            android:protectionLevel="signature" android:label="@string/auto_send_perm_label"
            android:description="@string/auto_send_perm_desc"/>