Получить WhatsApp "Отправить чат через" намерение в моем собственном приложении - PullRequest
0 голосов
/ 31 декабря 2018

Я создаю приложение, которое попросит пользователя экспортировать чат из WhatsApp в мое приложение.Как я могу показать свое приложение в окне намерений "Отправить чат через ..."?

1 Ответ

0 голосов
/ 19 января 2019

Правильный способ сделать это - добавить следующий фильтр намерений:

    <intent-filter>
        <action android:name="android.intent.action.SENDTO"/>
        <data android:scheme="mailto"/>
        <category android:name="android.intent.category.DEFAULT"/>
    </intent-filter>
    <intent-filter>
        <action android:name="android.intent.action.SEND"/>
        <data android:mimeType="*/*"/>
        <category android:name="android.intent.category.DEFAULT"/>
    </intent-filter>
    <intent-filter>
        <action android:name="android.intent.action.SEND_MULTIPLE"/>
        <data android:mimeType="*/*"/>
        <category android:name="android.intent.category.DEFAULT"/>
    </intent-filter>

Затем вы можете прочитать содержимое чата, используя это:

            Uri uri = intent.getClipData().getItemAt(i).getUri();
            InputStream inputstream = getContentResolver().openInputStream(uri);
            byte[] data = new byte[1024];
            int bytesRead = inputstream.read(data);

            while (bytesRead != -1) {
                chatContent.append(new String(data));
                bytesRead = inputstream.read(data);
            }

            // TODO - Here we can do whatever we want with the chat content chatContent.toString()
            if (mainTextView != null){
                mainTextView.setText(chatContent.toString());
            }
...