アプリ 1: でファイルをダウンロードします。DownloadManager
アプリ 2:DownloadManagerすべてのダウンロードをお願いします。からのものではなく、自分のイニシエーションのみを取得しApp 1ます。
ダウンロードされるファイルには次のものがありますUri。content://downloads/my_downloads/id
「App 2」より:ImageUriのImageViewを thisで設定できませんContent Uri。(私は を得るFileNotFoundException)
ここで私の質問は次のとおりAndroid Downloads AppですApp 1。私のシステムの任意の画像ビューアで表示できます。ではないのはなぜApp 2ですか?
これはIntent( Action_VIEW) の使用によるものですか? または、何か不足していますか?
編集:
content://downloads/all_downloads/<some_id>どうやら、他のアプリからファイルを取得できるようです。アプリがこのファイルにアクセスするのを制限する方法はありますか? ダウンロードを開始したアプリだけが開くことができますか?
私は使用しています:
Request lRequest = new Request(Uri.parse(lDownloadUrl));
lRequest.setNotificationVisibility(Request.VISIBILITY_HIDDEN);
lRequest.setVisibleInDownloadsUi(false);
DownloadManager lDownloadManager = (DownloadManager)getSystemService(DOWNLOAD_SERVICE);
long lEnqueueId = lDownloadManager.enqueue(lRequest);