1

whatsappチャットtxtファイルを取得しようとしています。 私はAndroidのドキュメント上で見たように:whatsapp fileproviderからtxtファイルを取得する方法

content://com.whatsapp.fileprovider/external/.Shared/WhatsApp%20Chat%20with.txt 

しかし、ファイルがそのパスに存在していないので、私はFファイルを使用することはできません。

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があります。

マニフェストでI'v既に開か許可:

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 
<uses-permission android:name="android.permission.READ_USER_DICTIONARY" /> 

は私がファイルを使用することができますので、何をすべきでしょうか?

答えて

2

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

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

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

ファイルではありません。このWebページ以外のファイルは、スタックオーバーフローWebサーバー上のファイルです。

ContentResolveropenInputStream()を使用すると、Uriで表されるコンテンツにInputStreamが表示されます。 ActivityまたはServiceのようにContextgetContentResolver()を呼び出してContentResolverを取得することができます。

+0

説明を拡大できますか? – motis10

+0

@ motis10:[このブログの投稿](https://commonsware.com/blog/2016/03/15/how-consume-content-uri.html)と[openInputStream()のドキュメント](https://developer.android.com/reference/android/content/ContentResolver.html#openInputStream(android.net.Uri))と[Uriの使用に関するいくつかの文書](https://developer.android .com/guide/topics/providers/document-provider.html#open-client)。そうでない場合は、あなたが理解できないことを説明してください。 – CommonsWare

関連する問題