无法打开文件(没有收到文件) - 通过Intent ACTION_VIEW打开pdf文件

时间:2017-08-08 02:57:29

标签: android pdf android-intent

在通过Intent ACTION_VIEW打开pdf文件时,我收到此消息,并在显示消息后关闭pdf查看器应用程序。在所有版本的Android中都会出现此行为。我很惊讶相同的文件正在共享,它的工作原理。此外,我能够使用类似的FileProvider查看另一种文件类型。如果您有任何解决方案,请告诉我。

 Intent intentShowPDF = new Intent(Intent.ACTION_VIEW);

    if (directory != null) {

        // So you have to use Provider
        Uri uri = FileProvider.getUriForFile(activity, "in.everybill.business.fileprovider", directory);
        intentShowPDF.setDataAndType(uri,"application/pdf");
        intentShowPDF.setType("application/pdf");
        intentShowPDF.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
        intentShowPDF.setFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
        intentShowPDF.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            try {
                 activity.startActivity(intentShowPDF);
            } catch (ActivityNotFoundException e) {

                Uri marketUri = Uri.parse("https://play.google.com/store/apps/details?id=com.google.android.apps.pdfviewer");
              Intent  intent = new Intent(Intent.ACTION_VIEW, marketUri);

                staticContext.startActivity(intent);
            }

    } else {
        showToast("Failed");
    }

清单文件

    <provider
        android:name="android.support.v4.content.FileProvider"
        android:authorities="in.everybill.business.fileprovider"
        android:exported="false"
        android:grantUriPermissions="true">
        <meta-data
            android:name="android.support.FILE_PROVIDER_PATHS"
            android:resource="@xml/file_paths" />
    </provider>

0 个答案:

没有答案