如何在Android选择器列表中将应用程序列为电子邮件客户端?
我正在尝试将我的Android应用程序作为电子邮件客户端添加到选择器列表中。然而,它并没有出现在Gmail和K-9应用程序的旁边。 为了测试它,我正在尝试共享whatsapp应用程序聊天室的“电子邮件聊天”功能中的聊天数据(因为它只显示电子邮件应用程序) 我只有一项活动。当我从浏览器共享文本数据时,我的应用程序在选择器列表中,但当我从Whatsapp共享电子邮件数据时,我的应用程序不在选择器列表中。我尝试将以下意图操作添加到我的AndroidManifest.xml中,但不起作用如何在Android选择器列表中将应用程序列为电子邮件客户端?,android,email,android-intent,mime-types,intentfilter,Android,Email,Android Intent,Mime Types,Intentfilter,我正在尝试将我的Android应用程序作为电子邮件客户端添加到选择器列表中。然而,它并没有出现在Gmail和K-9应用程序的旁边。 为了测试它,我正在尝试共享whatsapp应用程序聊天室的“电子邮件聊天”功能中的聊天数据(因为它只显示电子邮件应用程序) 我只有一项活动。当我从浏览器共享文本数据时,我的应用程序在选择器列表中,但当我从Whatsapp共享电子邮件数据时,我的应用程序不在选择器列表中。我尝试将以下意图操作添加到我的AndroidManifest.xml中,但不起作用
<intent-filter>
<action android:name="android.intent.action.SEND_MULTIPLE" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="text/*" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="image/*" />
<data android:mimeType="text/*" />
</intent-filter>
我还将type=text/*放在我的意图过滤器中,但我的应用程序未列出。知道为什么吗?我能做些什么来列出它呢?试试这个:--我希望它能起作用
<intent-filter>
<action android:name="android.intent.action.SEND"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:mimeType="image/*"/>
<data android:mimeType="text/plain"/>
</intent-filter>
试试这个
我直接从Gmail APK中取出了这些意向过滤器 此意向筛选器处理
mailto
链接
<intent-filter>
<action
android:name="android.intent.action.SENDTO" />
<action
android:name="android.intent.action.VIEW" />
<category
android:name="android.intent.category.DEFAULT" />
<category
android:name="android.intent.category.BROWSABLE" />
<data
android:scheme="mailto" />
</intent-filter>
这一个允许打开你的应用作为一个响应发送意图和
马上
还有两个与Gmail域名无关的域名,我省略了
要验证您自己:
获取Gmail APK
在Android Studio中,进入主菜单>构建>分析APK
使用文件选择器查找并打开Gmail APK
在APK分析器中选择AndroidManifest.xml
一旦意向发送到你的应用程序,处理它们就超出了范围。正如你所看到的,我的第二个意向过滤器与你一样。然而,用我的替换你的只是为了验证,它不起作用。任何其他建议都会有很大帮助。请链接到我的代码以供参考。你试过这个吗?
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<action android:name="android.intent.action.SENDTO"/>
<data android:scheme="mailto"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
</intent-filter>
<intent-filter android:label="@string/app_name">
<action android:name="android.intent.action.SEND"/>
<data android:mimeType="*/*"/>
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
<intent-filter android:label="@string/app_name">
<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.SENDTO" />
<action
android:name="android.intent.action.VIEW" />
<category
android:name="android.intent.category.DEFAULT" />
<category
android:name="android.intent.category.BROWSABLE" />
<data
android:scheme="mailto" />
</intent-filter>
<intent-filter>
<action
android:name="android.nfc.action.NDEF_DISCOVERED" />
<category
android:name="android.intent.category.DEFAULT" />
<data
android:scheme="mailto" />
</intent-filter>
<intent-filter>
<action
android:name="android.intent.action.SEND" />
<category
android:name="android.intent.category.DEFAULT" />
<category
android:name="com.google.android.voicesearch.SELF_NOTE" />
<data
android:mimeType="*/*" />
</intent-filter>
<intent-filter>
<action
android:name="android.intent.action.SEND_MULTIPLE" />
<category
android:name="android.intent.category.DEFAULT" />
<data
android:mimeType="*/*" />
</intent-filter>