如何从 whatsapp fileprovider 获取 txt 文件
How to fetch txt file from whatsapp fileprovider
我正在尝试获取 whatsapp 聊天 txt 文件。
正如我在 Android 文档中看到的那样:
private void handleSentMultipleAttached(Intent intent) {
ArrayList<Uri> attachedFilesUris = intent.getParcelableArrayListExtra(Intent.EXTRA_STREAM);
if (attachedFilesUris != null) {
for (Uri uri : attachedFilesUris) {
File f = new File(uri.getPath());
}
}
}
uri 是:
content://com.whatsapp.fileprovider/external/.Shared/WhatsApp%20Chat%20with.txt
但是我不能使用 f 文件,因为该路径中不存在该文件。
我已经在清单中打开权限:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_USER_DICTIONARY" />
我应该怎么做才能使用该文件?
But i can't use the f file because file is not exist in that path.
这不是文件系统路径。这是来自 ContentProvider
.
的 content:
Uri
What should i do so i can use the file?
它不是文件,就像这个网页不是 Stack Overflow Web 服务器上的文件一样。
您可以使用 ContentResolver
和 openInputStream()
在 Uri
表示的内容上获得 InputStream
。您可以通过在 Context
上调用 getContentResolver()
来获得 ContentResolver
,例如 Activity
或 Service
.
我正在尝试获取 whatsapp 聊天 txt 文件。 正如我在 Android 文档中看到的那样:
private void handleSentMultipleAttached(Intent intent) {
ArrayList<Uri> attachedFilesUris = intent.getParcelableArrayListExtra(Intent.EXTRA_STREAM);
if (attachedFilesUris != null) {
for (Uri uri : attachedFilesUris) {
File f = new File(uri.getPath());
}
}
}
uri 是:
content://com.whatsapp.fileprovider/external/.Shared/WhatsApp%20Chat%20with.txt
但是我不能使用 f 文件,因为该路径中不存在该文件。
我已经在清单中打开权限:
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_USER_DICTIONARY" />
我应该怎么做才能使用该文件?
But i can't use the f file because file is not exist in that path.
这不是文件系统路径。这是来自 ContentProvider
.
content:
Uri
What should i do so i can use the file?
它不是文件,就像这个网页不是 Stack Overflow Web 服务器上的文件一样。
您可以使用 ContentResolver
和 openInputStream()
在 Uri
表示的内容上获得 InputStream
。您可以通过在 Context
上调用 getContentResolver()
来获得 ContentResolver
,例如 Activity
或 Service
.