From af22aea4bd6411a9927f2d173841d20bfe220705 Mon Sep 17 00:00:00 2001 From: rogerkerse Date: Tue, 28 Jul 2020 16:06:00 +0300 Subject: [PATCH] Fix sms apps crashing without permissions --- .../src/main/java/com/tkporter/sendsms/SendSMSModule.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/android/src/main/java/com/tkporter/sendsms/SendSMSModule.java b/android/src/main/java/com/tkporter/sendsms/SendSMSModule.java index da61f7d..a9ff4e7 100644 --- a/android/src/main/java/com/tkporter/sendsms/SendSMSModule.java +++ b/android/src/main/java/com/tkporter/sendsms/SendSMSModule.java @@ -2,6 +2,8 @@ import android.app.Activity; import android.content.Intent; +import android.content.pm.PackageManager; +import android.content.pm.ResolveInfo; import android.os.Build; import android.provider.Telephony; import android.net.Uri; @@ -88,6 +90,12 @@ public void send(ReadableMap options, final Callback callback) { if (attachment != null) { Uri attachmentUrl = Uri.parse(attachment.getString("url")); sendIntent.putExtra(Intent.EXTRA_STREAM, attachmentUrl); + + final PackageManager packageManager = getReactApplicationContext().getPackageManager(); + for (ResolveInfo info : packageManager.queryIntentActivities(sendIntent, PackageManager.GET_RESOLVED_FILTER)) { + final String packageName = info.activityInfo.packageName; + getReactApplicationContext().grantUriPermission(packageName, attachmentUrl, Intent.FLAG_GRANT_READ_URI_PERMISSION); + } String type = attachment.getString("androidType"); sendIntent.setType(type);