无法使用文件提供程序打开Android 8.1中App的缓存文件夹中保存的PDF

时间:2019-02-23 05:22:13

标签: android pdf android-fileprovider

我正在尝试在以下位置打开PDF-Android 8.1上的“ /data/user/0/com.notes.taker/cache/engineering.pdf”。

但是我遇到了这样的错误-“无法显示pdf,未收到文件”。无法理解这里出了什么问题。任何帮助,将不胜感激。

意图代码-

File file= new File(getApplicationContext().getCacheDir(), "engineering.pdf");
Uri path = FileProvider.getUriForFile(MainActivity.this, "com.mynotes.fileprovider", file);
Intent intent = new Intent();
intent.putExtra(Intent.ACTION_VIEW, path);
intent.setType("application/pdf");
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);

提供者的AndroidManifest.xml声明是-

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

我的file_paths.xml是这个-

<?xml version="1.0" encoding="utf-8"?>
<paths>
    <files-path name="." path="/"/>
    <external-path path="." name="external_storage_root" />
</paths>

0 个答案:

没有答案