WhatsApp没有显示我的电子邮件应用程序意图在Android中分享对话

时间:2013-12-23 09:34:27

标签: android android-intent intentfilter whatsapp

我正在开发一个电子邮件应用,我已在活动中指定了意图过滤器,以便其他应用可以从中共享内容。每个其他应用程序在共享时显示我的电子邮件应用程序意图,但是当我分享电子邮件对话时WhatsApp不会显示它。

我的Actvity在AndroidManifest中定义,如下所示:

<activity
        android:name="com.test.myapp.ComposeActivity"
        android:configChanges="orientation|keyboard|screenSize|screenLayout" >

        <intent-filter>
            <action android:name="android.intent.action.SEND" />

            <category android:name="android.intent.category.DEFAULT" />

            <data android:mimeType="*/*" />
        </intent-filter>
        <intent-filter>
            <action android:name="android.intent.action.SENDTO" />

            <category android:name="android.intent.category.DEFAULT" />

            <data android:scheme="mailto" />
        </intent-filter>
        <intent-filter>
            <action android:name="android.intent.action.SEND_MULTIPLE" />

            <category android:name="android.intent.category.DEFAULT" />

            <data android:mimeType="*/*" />
        </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>

    </activity>

如何在通过WhatsApp共享时让我的应用可见?

1 个答案:

答案 0 :(得分:1)

想出来,支持这个answer

事实证明,WhatsApp将显示在选择器上的软件包列入白名单。一些列入白名单的电子邮件客户端是outlook,k9(实际上并没有为我工作因此可能已经过时)和gmail / android电子邮件。

一种解决方法是使用与这些列入白名单的软件包相同的应用程序ID(我已经验证了这仍然有效)但显然您无法发布到应用商店。如果你绝望,你可能会创建另一个应用程序并将apk捆绑到您的资产/原始,并让他们从那里安装它。此应用可以共享其中一个列入白名单的软件包的域,并将此意图安全地传输到您的主应用程序*。

我不主张采用这种方法,只是说它是一种选择。