我有一个Activity,它既是MainActivity,也是在点击Gallery中的'Share'-Button时应该启动的活动。
所以我的Manifest看起来像这样:
<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的行,则应用程序将出现在应用程序抽屉中,但不会出现在库中的共享菜单中。
任何建议如何实现两者?
提前致谢。
答案 0 :(得分:2)
在<intent-filter>
中使用两个单独的<activity>
元素:一个用于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>