Como lidar com uma intenção de compartilhamento (enviando uma imagem) no aplicativo expo?

8

Existe alguma maneira de lidar com o compartilhamento de arquivos no aplicativo expo? De acordo com a documentação do app.json , é possível fornecer intentFilters, mas não consigo encontrar nada sobre como lidar com eles posteriormente.

Ejetar não é uma opção.

Phil Rukin
fonte
Você já viu o Linking? Manipulação de links no seu aplicativo . Um pouco mais abaixo, também contém uma seção sobre como manipular dados passados ​​para o aplicativo.
Maarten Peels
Sim, eu fiz, mas ele só dá uma aparência de URL exp://exp.host/@community/native-component-list, mas nenhuma informação de imagem
Phil Rukin 31/01

Respostas:

1

A documentação diz

Para adicionar ou editar filtros de intenção em um projeto ExpoKit, edite AndroidManifest.xml diretamente.

Você pode ver aqui como adicionar um filtro de intenção no manifesto, que define a atividade (no exemplo ShareActivity) que manipulará o recebimento de texto (você pode remover esta parte) ou imagens

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

Então, em sua atividade no expo.io, você precisa obter o extra do Intente terá as informações da imagem anexada

Carlos Robles
fonte
Ele não está usando o Expokit, mas um aplicativo de exposição gerenciado (e ejetar não é uma opção). Infelizmente, isso não será possível.
Maarten Peels 31/01
Não estou usando o expokit e sei como adicionar filtros de intenção (tenho um link para documentos em uma pergunta). O que eu não sei é como lidar com a imagem do aplicativo.
Phil Rukin 31/01
Por exemplo, para manipular notificações, é possível adicionar Notifications.addListener(listener)e manipular notificações no listenerretorno de chamada. Eu estava esperando que algo semelhante exista para as intenções de compartilhamento
Phil Rukin 31/01