【发布时间】:2017-08-10 13:48:25
【问题描述】:
我有多个活动应该使用相同的意图过滤器,在清单文件中定义如下:
<activity
android:name="com.example.MainActivity"
android:label="@string/mainTitle" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="com.example.Activity1">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.example.MainActivity" />
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="image/*" />
</intent-filter>
</activity>
<activity
android:name="com.example.Activity2">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.example.MainActivity" />
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="image/*" />
</intent-filter>
</activity>
<activity
android:name="com.example.Activity3">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.example.MainActivity" />
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="image/*" />
</intent-filter>
</activity>
所以当用户想将图像分享给我的应用程序时,它会显示 3 次。
如何只使用一个意图过滤器来处理它? (所以分享时也只会显示一个给用户)
我无法定义某种规则来决定应该使用哪个活动,因为所有这些活动都在执行不同的操作,而用户只是选择“在我的应用中打开”。
【问题讨论】:
标签: java android android-intent android-activity intentfilter