Android: 设置 mimeType 后应用程序不会出现在抽屉中

Android: App does not appear in drawer when mimeType is set

我有一个 Activity,它既是 MainActivity 又是 activity,应该在单击图库中的 'Share'-按钮时启动。

所以我的清单看起来像这样:

<activity
    android:name=".MainActivity"
    android:label="@string/app_name" >
    <intent-filter>
        <category android:name="android.intent.category.DEFAULT" />
        <data android:mimeType="image/*" />
        <category android:name="android.intent.category.LAUNCHER" />
        <action android:name="android.intent.action.MAIN" />
        <action android:name="android.intent.action.SEND" />
    </intent-filter>
</activity>

对于上述清单,应用出现在共享菜单中,但不出现在应用抽屉中。如果我删除设置 mimeType 的行,应用程序会出现在应用程序抽屉中,但不会出现在图库的共享菜单中。

有什么建议可以实现这两者吗?

提前致谢。

<activity> 中使用两个单独的 <intent-filter> 元素:一个用于 MAIN/LAUNCHER,另一个用于 SEND/DEFAULT /MIME 类型。

<activity
    android:name=".MainActivity"
    android:label="@string/app_name" >
    <intent-filter>
        <category android:name="android.intent.category.LAUNCHER" />
        <action android:name="android.intent.action.MAIN" />
    </intent-filter>
    <intent-filter>
        <category android:name="android.intent.category.DEFAULT" />
        <data android:mimeType="image/*" />
        <action android:name="android.intent.action.SEND" />
    </intent-filter>
</activity>