使用 Android,当我在默认浏览器中单击电子邮件地址时,会弹出一个菜单列表,其中包含 Gmail(内置电子邮件客户端)和 K-9(另一个电子邮件应用程序)。
我想将我的 android 应用程序添加到此列表中。这可能吗?我该怎么做?
使用 Android,当我在默认浏览器中单击电子邮件地址时,会弹出一个菜单列表,其中包含 Gmail(内置电子邮件客户端)和 K-9(另一个电子邮件应用程序)。
我想将我的 android 应用程序添加到此列表中。这可能吗?我该怎么做?
您需要创建一个IntentFilter
这需要 Java 代码,您可以在其中创建一个Activity
当系统通知某人正在尝试发送电子邮件时触发的,并更改AndroidManifest
您订阅该Intent
操作的位置。这是一个 SO 帖子,解释了您需要哪些意图过滤器:android intent-filter to listen for sent email addresses?
您将这些添加到您的Activity
条目中AndroidManifest
,然后当有人单击电子邮件时,它将显示您的应用程序。当有人点击它时,它会打开Activity
你想要阅读的关于从意图中提取数据的特定内容。具体来说,您需要从附加组件中提取:http: //developer.android.com/reference/android/content/Intent.html#EXTRA_EMAIL 。
在清单中将此意图过滤器添加到您的活动中:
<intent-filter>
<action android:name="android.intent.action.SENDTO" />
<data android:scheme="mailto" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.SEND" />
<data android:mimeType="*/*" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.SEND_MULTIPLE" />
<data android:mimeType="*/*" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<data android:scheme="mailto" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
</intent-filter>
在此处阅读有关意图过滤器的信息:
https ://developer.android.com/training/sharing/receive.html