尝试从下载中打开文件时,Android应用程序崩溃

时间:2018-06-21 09:49:38

标签: android android-intent path directory uri

我是Android新手,我正尝试使用URL链接下载pdf文件。下载操作完成后,将文件下载到Downloads目录中,并且该文件存在于该目录中。如果我试图使用意图打开pdf文件,则应用程序崩溃了,我很清楚我传递给Intent.setDataAndType()的URI是错误的。如何获取下载文件的正确URI。

这是我的代码。

String url = "https://…";
DownloadManager.Request request = new DownloadManager.Request(Uri.parse(url));

request.setDescription("Some descrition");

request.setTitle("Some title");

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
    request.allowScanningByMediaScanner();
    request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED);
}
request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, "name-of-the-file.pdf");

DownloadManager manager = (DownloadManager) getSystemService(Context.DOWNLOAD_SERVICE);
manager.enqueue(request);

File file = new File(getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS) + "/name-of-the-file.pdf");

Uri uri = Uri.fromFile(file);
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(uri, "application/pdf");
context.startActivity(intent);

我在某个地方弄乱了传递给意图的路径。任何帮助都是可取的。预先感谢。

0 个答案:

没有答案