我正在构建一个应用,该应用将要求用户将聊天从WhatsApp导出到我的应用中。 如何在“通过...发送聊天”意图窗口中显示我的应用?
答案 0 :(得分:2)
正确的方法是添加以下intent-filter:
<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());
}