1

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());
        }
    }
}

ウリは次のとおりです。

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

ファイルを使用するにはどうすればよいですか?

4

1 に答える 1

2

しかし、ファイルがそのパスに存在しないため、fファイルを使用できません。

これはファイルシステムのパスではありません。それはcontent: UriからContentProviderです。

ファイルを使用するにはどうすればよいですか?

この Web ページが Stack Overflow Web サーバー上のファイルである以上、これはファイルではありません。

ContentResolverとを使用して、 that によって表されるコンテンツopenInputStream()の を取得できます。やなどのを呼び出してを取得できます。InputStreamUriContentResolvergetContentResolver()ContextActivityService

于 2016-06-16T22:31:16.833 に答える