Commit c59e13db authored by zhouteng's avatar zhouteng

fix provider for API < 24

parent d3b853bb
......@@ -18,23 +18,20 @@ class ShareUtils {
String authorities = context.getPackageName() + ".shareextend.fileprovider";
Uri uri;
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N) {
uri = Uri.fromFile(file);
} else {
uri = ShareExtendProvider.getUriForPath(authorities, file.getAbsolutePath());
}
return uri;
return ShareExtendProvider.getUriForPath(authorities, file.getAbsolutePath());
}
static void grantUriPermission(Context context, List<Uri> uriList, Intent intent) {
for (Uri uri : uriList) {
List<ResolveInfo> resolveInfos = context.getPackageManager().queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY);
for (ResolveInfo resolveInfo : resolveInfos) {
context.grantUriPermission(resolveInfo.activityInfo.packageName, uri, Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
// some devices will crash when calling queryIntentActivities, so add try catch temporarily.
try {
for (Uri uri : uriList) {
List<ResolveInfo> resolveInfos = context.getPackageManager().queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY);
for (ResolveInfo resolveInfo : resolveInfos) {
context.grantUriPermission(resolveInfo.activityInfo.packageName, uri, Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
}
}
} catch (Exception e) {
}
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment