Android 访问其他应用程序的应用程序临时目录数据
我正在使用flatter开发移动应用程序。在生成pdf后,应用程序内部有pdf生成过程,需要打开操作系统默认的共享选项。为此,我使用颤振图书馆 要获得临时位置,我使用库。使用这个,我得到临时位置,并在该位置存储pdfAndroid 访问其他应用程序的应用程序临时目录数据,android,flutter,Android,Flutter,我正在使用flatter开发移动应用程序。在生成pdf后,应用程序内部有pdf生成过程,需要打开操作系统默认的共享选项。为此,我使用颤振图书馆 要获得临时位置,我使用库。使用这个,我得到临时位置,并在该位置存储pdf Future<String> get localPath async { Directory tempDir = await getTemporaryDirectory(); return tempDir.path; } 它提供了可供共享的选项,并且在流程上没有问题。
Future<String> get localPath async {
Directory tempDir = await getTemporaryDirectory();
return tempDir.path;
}
它提供了可供共享的选项,并且在流程上没有问题。但控制台中存在安全异常
E/DatabaseUtils(15076): java.lang.SecurityException: Permission Denial: reading com.zt.shareextend.ShareExtendProvider uri content://com.example.agile_iq.shareextend.fileprovider/%252Fdata%252Fuser%252F0%252Fcom.example.agile_iq%252Fcache%252FAgileiq_Assessment_202005181731.pdf from pid=12492, uid=1000 requires the provider be exported, or grantUriPermission()
E/DatabaseUtils(15076): at android.content.ContentProvider.enforceReadPermissionInner(ContentProvider.java:729)
E/DatabaseUtils(15076): at android.content.ContentProvider$Transport.enforceReadPermission(ContentProvider.java:602)
E/DatabaseUtils(15076): at android.content.ContentProvider$Transport.query(ContentProvider.java:231)
E/DatabaseUtils(15076): at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:104)
E/DatabaseUtils(15076): at android.os.Binder.execTransactInternal(Binder.java:1021)
E/DatabaseUtils(15076): at android.os.Binder.execTransact(Binder.java:994)
在清单文件中,我尝试导入提供程序
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="${applicationId}.provider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_provider_paths" />
但导入此项目后,至少不会生成。有什么解决办法吗
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="${applicationId}.provider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_provider_paths" />