Android 如何在谷歌照片中为一个应用程序提供多个股票期权?

Android 如何在谷歌照片中为一个应用程序提供多个股票期权?,android,share,manifest,intentfilter,Android,Share,Manifest,Intentfilter,我试图为图片共享提供两个共享选项,所以我有两个可以接受图片类型的活动。除了谷歌照片,它在任何地方都能很好地工作。 如果我从清单中注释掉其中一个,那么它可以正常工作,但是如果我保留了这两个,那么当我单击共享按钮时,只有一个会显示出来,单击它会将我带到另一个活动,而不是它关联的活动 这个问题只发生在谷歌照片应用程序中,其他任何地方都不会发生 <activity android:name="mobi.abc.xyz.NewPostActivity"> &l

我试图为图片共享提供两个共享选项,所以我有两个可以接受图片类型的活动。除了谷歌照片,它在任何地方都能很好地工作。 如果我从清单中注释掉其中一个,那么它可以正常工作,但是如果我保留了这两个,那么当我单击共享按钮时,只有一个会显示出来,单击它会将我带到另一个活动,而不是它关联的活动

这个问题只发生在谷歌照片应用程序中,其他任何地方都不会发生

<activity
        android:name="mobi.abc.xyz.NewPostActivity">

        <intent-filter android:label="Socials">
            <action android:name="android.intent.action.SEND" />
            <action android:name="android.intent.action.SEND_MULTIPLE" />
            <category android:name="android.intent.category.DEFAULT" />
            <action android:name="android.intent.action.PICK" />

            <data android:mimeType="text/plain" />
            <data android:mimeType="application/*" />
            <data android:mimeType="image/*" />
            <data android:mimeType="video/*" />
        </intent-filter>
    </activity>

    <activity
        android:name="mobi.abc.xyz.EditActivity">

        <intent-filter android:label="Share Image to Edit">
            <action android:name="android.intent.action.SEND" />
            <action android:name="android.intent.action.SEND_MULTIPLE" />

            <category android:name="android.intent.category.DEFAULT" />
            <action android:name="android.intent.action.PICK" />
            <data android:mimeType="image/*" />
        </intent-filter>
    </activity>

嗨,我来这里是为了写@kolboc提到的同样的东西,即谷歌照片进行过滤,因为twitter和Instagram是著名的应用程序,谷歌可能会优先考虑它们,因此会显示这两个应用程序的共享实例,但我错了

我找到了解决这个问题的办法

因此,它发生的原因是您在硬编码字符串中提到标签。所以用一些字符串文件名替换它们,比如

<activity
        android:name="mobi.abc.xyz.NewPostActivity">

        <intent-filter android:label="@string/socials">
            <action android:name="android.intent.action.SEND" />
            <action android:name="android.intent.action.SEND_MULTIPLE" />
            <category android:name="android.intent.category.DEFAULT" />
            <action android:name="android.intent.action.PICK" />

            <data android:mimeType="text/plain" />
            <data android:mimeType="application/*" />
            <data android:mimeType="image/*" />
            <data android:mimeType="video/*" />
        </intent-filter>
    </activity>

    <activity
        android:name="mobi.abc.xyz.EditActivity">

        <intent-filter android:label="@string/share_image_to_edit">
            <action android:name="android.intent.action.SEND" />
            <action android:name="android.intent.action.SEND_MULTIPLE" />

            <category android:name="android.intent.category.DEFAULT" />
            <action android:name="android.intent.action.PICK" />
            <data android:mimeType="image/*" />
        </intent-filter>
    </activity>

我已将应用程序实例标记为红色,但正如您所注意到的,我无法控制我的应用程序实例出现的位置。谷歌照片是这样排列的。我也不知道为什么。。。但是,当我在下一次尝试中单击我的应用程序的共享意图时,它显示了我的应用程序实例,如下所示

我再次认为谷歌在这里很聪明。。。我想他们是根据上次使用的优先级来制作列表的


快乐编码…)

也许是谷歌在他们的应用程序中进行过滤?但它适用于其他应用程序,如instagram和facebook。我已经写了一个答案,检查它,让我知道它是否对你有帮助…非常感谢,伙计,我从来没有尝试过这个,我尝试了所有可能的方法,但都没有成功。谢谢。