Android intent在同一活动中处理多个相同的操作
像Instagram一样,当用户想要在我的应用程序中共享图片时,我需要显示多个选项。我的舱单代码是:Android intent在同一活动中处理多个相同的操作,android,intentfilter,Android,Intentfilter,像Instagram一样,当用户想要在我的应用程序中共享图片时,我需要显示多个选项。我的舱单代码是: <activity android:name="com.myapp.android.ui.MainActivity" android:screenOrientation="portrait"> <intent-filter> <action android:name="android.intent.action.MAIN"/&
<activity android:name="com.myapp.android.ui.MainActivity"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="image/*" />
<data android:mimeType="video/*" />
</intent-filter>
<intent-filter android:label="@string/intent_chat">
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="image/*" />
<data android:mimeType="video/*" />
<data android:mimeType="text/plain" />
</intent-filter>
<intent-filter android:label="@string/intent_chat">
<action android:name="android.intent.action.SEND_MULTIPLE" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="image/*" />
<data android:mimeType="video/*" />
</intent-filter>
</activity>
这将在用户尝试共享图像或视频时正确显示2个选项。一个标有应用程序名称,另一个标有@string/intent\u chat
。问题是,我不知道如何知道用户在处理传入的Intent
时选择了哪一个。我尝试使用该标签,但不知道如何从Intent
访问它
另一个选项是保留一个
意图过滤器
,并在“我的活动”中显示一个对话框,让用户指定他想要做什么。但是,这意味着要进行额外的单击,我希望避免这种情况。您不应该在一个活动中使用相同的操作显示两个意图过滤器,请尝试使用两个不同的活动。who?当前推荐是一个单一活动应用程序体系结构。在这种情况下,除了在一个活动中显示两个意图过滤器外,别无选择!