Essentials
Essentials copied to clipboard
[Bug] File Share java.lang.SecurityException
Description
File Share java.lang.SecurityException
await Share.RequestAsync(new ShareFileRequest
{
Title = SelectedHeader.Title,
File = new ShareFile(path)
});
[DatabaseUtils] Writing exception to parcel [DatabaseUtils] java.lang.SecurityException: Permission Denial: reading xamarin.essentials.fileProvider uri content://.fileProvider/internal_cache/%EC%9E%AC%EA%B3%A0%EC%A1%B0%EC%82%AC_2022-04-08.xlsx from pid=9048, uid=1000 requires the provider be exported, or grantUriPermission() [DatabaseUtils] at android.content.ContentProvider.enforceReadPermissionInner(ContentProvider.java:912) [DatabaseUtils] at android.content.ContentProvider.semEnforceReadPermission(ContentProvider.java:830) [DatabaseUtils] at android.content.ContentProvider$Transport.enforceReadPermission(ContentProvider.java:708) [DatabaseUtils] at android.content.ContentProvider$Transport.query(ContentProvider.java:247) [DatabaseUtils] at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:107) [DatabaseUtils] at android.os.Binder.execTransactInternal(Binder.java:1215) [DatabaseUtils] at android.os.Binder.execTransact(Binder.java:1179) [DatabaseUtils] Writing exception to parcel [DatabaseUtils] java.lang.SecurityException: Permission Denial: reading xamarin.essentials.fileProvider uri content://.fileProvider/internal_cache/%EC%9E%AC%EA%B3%A0%EC%A1%B0%EC%82%AC_2022-04-08.xlsx from pid=9048, uid=1000 requires the provider be exported, or grantUriPermission() [DatabaseUtils] at android.content.ContentProvider.enforceReadPermissionInner(ContentProvider.java:912) [DatabaseUtils] at android.content.ContentProvider.semEnforceReadPermission(ContentProvider.java:830) [DatabaseUtils] at android.content.ContentProvider$Transport.enforceReadPermission(ContentProvider.java:708) [DatabaseUtils] at android.content.ContentProvider$Transport.query(ContentProvider.java:247) [DatabaseUtils] at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:107) [DatabaseUtils] at android.content.ContentProviderNative.onTransact(Con04-08 08:10:55.428 E/DatabaseUtils( 8846): at android.os.Binder.execTransactInternal(Binder.java:1215) [DatabaseUtils] at android.os.Binder.execTransact(Binder.java:1179)
//Android 11
IList<ResolveInfo> resInfoList = Android.App.Application.Context.PackageManager.QueryIntentActivities(intentShareFile, PackageInfoFlags.MatchDefaultOnly);
foreach (ResolveInfo resInfo in resInfoList)
{
string packageName = resInfo.ActivityInfo.PackageName;
Android.App.Application.Context.GrantUriPermission(packageName, uri, ActivityFlags.GrantReadUriPermission);
}
Steps to Reproduce
Expected Behavior
Actual Behavior
Basic Information
- Version with issue:
- Last known good version:
- IDE: Visual Studio 2022
- Platform Target Frameworks:
- Android: Api 31
- Android Support Library Version:
- Nuget Packages: Xamarin.Essentials 1.7.2
- Affected Devices: Samsung SM-G986N