【问题标题】:How to handle a share intent(sending an image) in the expo app?如何在 expo 应用程序中处理共享意图(发送图像)?
【发布时间】:2020-05-11 01:52:15
【问题描述】:

有没有办法处理共享文件到 expo 应用程序?根据documentation of app.json 可以提供intentFilters,但我找不到任何事后处理它们的信息。

弹出不是一种选择。

【问题讨论】:

  • 你看过链接吗? Handling links into your app。再往下一点,它还包含有关处理传递给应用程序的数据的部分。
  • 是的,我做到了,但它只提供了一个看起来像 exp://exp.host/@community/native-component-list 的 url,但没有图像信息

标签: javascript android react-native expo


【解决方案1】:

文档说

要在 ExpoKit 项目中添加或编辑意图过滤器,请直接编辑 AndroidManifest.xml。

您可以看到 here 如何在清单中添加一个意图过滤器,它定义将处理接收文本(您可以删除这部分)或图像的活动(在示例中为 ShareActivity

<activity android:name="ShareActivity">
    <!-- This activity handles "SEND" actions with text data -->
    <intent-filter>
        <action android:name="android.intent.action.SEND"/>
        <category android:name="android.intent.category.DEFAULT"/>
        <data android:mimeType="text/plain"/>
    </intent-filter>
    <!-- This activity also handles "SEND" and "SEND_MULTIPLE" with media data -->
    <intent-filter>
        <action android:name="android.intent.action.SEND"/>
        <action android:name="android.intent.action.SEND_MULTIPLE"/>
        <category android:name="android.intent.category.DEFAULT"/>
        <data android:mimeType="application/vnd.google.panorama360+jpg"/>
        <data android:mimeType="image/*"/>
        <data android:mimeType="video/*"/>
    </intent-filter>
</activity>

然后,在您在 expo.io 中的活动中,您需要从 Intent 获取额外信息,您将获得附加图像的信息

【讨论】:

  • 他没有使用 Expokit,而是一个托管的 expo 应用程序(并且不能选择弹出)。所以很遗憾,这是不可能的。
  • 我没有使用 expokit,我知道如何添加意图过滤器(我有一个问题中的文档链接)。我不知道如何处理来自应用程序的图像。
  • 例如要处理通知,可以添加Notifications.addListener(listener) 并在listener 回调中处理通知。我希望分享意图存在类似的东西
猜你喜欢
  • 2017-01-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多