From a121237b718827f26390db219a65138200b52a3b Mon Sep 17 00:00:00 2001 From: Luke Chadwick Date: Tue, 23 Jun 2020 13:50:24 +0100 Subject: [PATCH 1/2] Update shareFile method to invoke grantUriPermissions --- .../example/fluttershare/FlutterSharePlugin.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/android/src/main/java/com/example/fluttershare/FlutterSharePlugin.java b/android/src/main/java/com/example/fluttershare/FlutterSharePlugin.java index 37cf79a..d3aa2e9 100644 --- a/android/src/main/java/com/example/fluttershare/FlutterSharePlugin.java +++ b/android/src/main/java/com/example/fluttershare/FlutterSharePlugin.java @@ -7,8 +7,12 @@ import androidx.core.content.FileProvider; +import android.content.pm.PackageManager; +import android.content.pm.ResolveInfo; + import java.io.File; import java.util.ArrayList; +import java.util.List; import io.flutter.plugin.common.MethodCall; import io.flutter.plugin.common.MethodChannel; @@ -127,6 +131,16 @@ private void shareFile(MethodCall call, Result result) { intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); Intent chooserIntent = Intent.createChooser(intent, chooserTitle); + + + PackageManager packageManager = mRegistrar.context().getApplicationContext().getPackageManager(); + List resInfoList = packageManager.queryIntentActivities(chooserIntent, PackageManager.MATCH_DEFAULT_ONLY); + + for (ResolveInfo resolveInfo : resInfoList) { + String packageName = resolveInfo.activityInfo.packageName; + mRegistrar.context().getApplicationContext().grantUriPermission(packageName, fileUri, Intent.FLAG_GRANT_READ_URI_PERMISSION); + } + chooserIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); chooserIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); mRegistrar.context().startActivity(chooserIntent); From df416a0f4720ebb1c608c6c7db06327cd5614ef1 Mon Sep 17 00:00:00 2001 From: Luke Chadwick Date: Thu, 19 Mar 2026 17:48:01 +0100 Subject: [PATCH 2/2] chore: add IDE metadata to gitignore --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index d71f6ea..c6b4501 100644 --- a/.gitignore +++ b/.gitignore @@ -6,3 +6,6 @@ build/ .idea/ +.project +.classpath +.settings/