我知道这不是最佳实践,但我想使用“自我注释”意图在后台发送电子邮件。我发现 Keep 使用了 AUTO_SEND 意图,但我似乎无法打开 Gmail 或 Keep - 它们不会显示在活动选择器中,只有 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">
但问题仍然存在。有任何想法吗?
你不能。
此操作由此活动处理,需要许可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"/>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)