android - 如何在 android sharesheet 中显示应用程序的多个活动?
问题描述
我应该能够在 android sharesheet 中显示我的应用程序的不同活动,如下所示的示例图像。
我应该添加一个新活动吗?以及它是如何在 androidmanifest.xml 中配置的?
这是 androidmanifest.xml 的 MainActivity 部分,我在其中添加了接收文本和图像的意图。现在共享表中只显示一个图标。
android:name=".MainActivity"
android:launchMode="singleTask"
android:label="@string/app_name"
android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustResize">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter android:label="@string/app_name">
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="text/plain" />
</intent-filter>
<intent-filter android:label="@string/app_name">
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="image/*" />
</intent-filter>
</activity>
解决方案
您可以添加多个活动,并为每个活动添加一个意图过滤器。您可以添加标签属性<intent-filter>
为每个活动提供自定义标签<intent-filter android:label="My Label 1">
<activity android:name=".BroadcastReceiverActivity1" >
<intent-filter android:label="My Label 1">
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="*/*" />
</intent-filter>
</activity>
<activity android:name=".BroadcastReceiverActivity2" >
<intent-filter android:label="My Label 2">
<action android:name="android.intent.action.SEND" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="*/*" />
</intent-filter>
</activity>
推荐阅读
- go - 如何在 Golang 中连续解析 rsync 进度?
- javascript - 在节点中执行 pycodestyle 没有错误没有输出
- amazon - 哪个是亚马逊 MWS 的测试类别
- python - 过滤和替换 Pandas 中的子字符串
- linux - 如何在 Linux Shell 脚本中替换从另一个文件中获取输入的字符串
- java - 如何通过 URI 复制文件
- java - Springboot 调用 ESAPI 显示异常
- jquery - Rails 5:如何运行 edit.js.erb 文件
- java - 使用@AllowFeature 控制器方法播放Framework 1.x 功能测试
- c# - c#设置gcServer启用后不创建转储文件