我正在尝试在以下位置打开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>