如何在Android选择器列表中将应用程序列为电子邮件客户端?

如何在Android选择器列表中将应用程序列为电子邮件客户端?,android,email,android-intent,mime-types,intentfilter,Android,Email,Android Intent,Mime Types,Intentfilter,我正在尝试将我的Android应用程序作为电子邮件客户端添加到选择器列表中。然而,它并没有出现在Gmail和K-9应用程序的旁边。 为了测试它,我正在尝试共享whatsapp应用程序聊天室的“电子邮件聊天”功能中的聊天数据(因为它只显示电子邮件应用程序) 我只有一项活动。当我从浏览器共享文本数据时,我的应用程序在选择器列表中,但当我从Whatsapp共享电子邮件数据时,我的应用程序不在选择器列表中。我尝试将以下意图操作添加到我的AndroidManifest.xml中,但不起作用

我正在尝试将我的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>