【问题标题】:How to show multiple activities of an app in the android sharesheet?如何在 android sharesheet 中显示应用程序的多个活动?
【发布时间】:2020-03-29 08:45:43
【问题描述】:

我应该能够在 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> 

【问题讨论】:

  • 只需将意图过滤器移动到相应的活动中。如果匹配过滤器,这些活动将显示在选择器中

标签: android share


【解决方案1】:

您可以添加多个活动,并为每个活动添加一个意图过滤器。您可以为&lt;intent-filter&gt; 添加标签属性,以便为每个活动&lt;intent-filter android:label="My Label 1"&gt; 提供自定义标签

<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>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-09-19
    • 2010-10-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-14
    相关资源
    最近更新 更多