1

Dropbox、Google ドライブ、ローカル ファイル ストアなどの他のアプリケーションの [共有] ボタンを使用して、ユーザーが xml ファイルを選択してアプリに送信できるようにします。( http://developer.android.com/training/sharing/receive.htmlを参照)

たとえば、次の方法で Dropbox から、選択/共有ファイルの URI を正常に取得できます。

Uri receivedUri = Uri.parse(intent.getStringExtra(Intent.EXTRA_TEXT));

しかし、Downloadmanager を使用してこのファイルをローカル ファイルストアにダウンロードするにはどうすればよいでしょうか? Dropbox や Google Drive などのアカウントで自動的に認証されますか (モバイル アプリからファイルを選択して共有することを選択したため) ファイルをダウンロードするソースに応じて、Downloadmanager を異なる方法で設定する必要がありますか?

ありがとう!

4

1 に答える 1

0

DownloadManager は必要ありません。ファイル URI またはコンテンツ URI の場合、アプリは URI に基づいてファイル記述子を開くことでファイルを読み取ることができます。FileDescriptor を含む ParcelFileDescriptor を返す ContentResolver.openFileDescriptor() を参照してください。

ところで、android.support.v4.content.FileProvider.getUriForFile() は、アプリの制御下にあるファイルのコンテンツURI を返します。ファイル URI とは異なり、コンテンツ URI には一時的なアクセス許可を設定できます。これははるかに安全です。

于 2013-09-05T00:50:08.243 に答える