用于启动器和发送活动的Intent过滤器

Juh*_*ani 10 android filter android-intent

我正在尝试将我的主要活动作为启动器活动并接收发送事件.不知怎的,我似乎无法使两者同时工作.要么我在应用程序托盘中有启动器图标,要么不在图库中的图像共享菜单中.如何让两者同时工作.

使用此意图过滤器,图标位于应用程序托盘中,但不在共享菜单中.

         <intent-filter>
            <category android:name="android.intent.category.LAUNCHER"/>
            <action android:name="android.intent.action.MAIN"/>
            <action android:name="android.intent.action.SEND" />
        </intent-filter>
Run Code Online (Sandbox Code Playgroud)

有了这个,我有它在共享但不在应用程序托盘中

        <intent-filter>
            <category android:name="android.intent.category.LAUNCHER"/>
            <action android:name="android.intent.action.MAIN"/>
            <action android:name="android.intent.action.SEND" />
            <data android:mimeType="image/*" />
        </intent-filter>
Run Code Online (Sandbox Code Playgroud)

我怀疑它与数据元素有关,我试过这个但是没有用

        <intent-filter>
            <category android:name="android.intent.category.LAUNCHER"/>
            <action android:name="android.intent.action.MAIN"/>
            <action android:name="android.intent.action.SEND" />
               <data android:mimeType="image/*">
            </action>  
        </intent-filter>
Run Code Online (Sandbox Code Playgroud)

任何帮助非常感谢,谢谢!

Juh*_*ani 22

我找到了解决方案.实际上,您可以在操作中拥有多个intent-filter标记.所以正确的代码是

        <intent-filter>
            <category android:name="android.intent.category.LAUNCHER"/>
            <action android:name="android.intent.action.MAIN"/>
        </intent-filter>
        <intent-filter>
            <action android:name="android.intent.action.SEND"/>
            <data android:mimeType="image/*"/>
        </intent-filter>
Run Code Online (Sandbox Code Playgroud)