diff --git a/android/build.gradle b/android/build.gradle index 69ac46b..dc8993b 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -1,8 +1,8 @@ apply plugin: 'com.android.library' android { - compileSdkVersion 23 - buildToolsVersion "23.0.1" + compileSdkVersion 26 + buildToolsVersion "26.0.3" defaultConfig { minSdkVersion 16 diff --git a/android/src/main/java/com/reactlibrary/mailcompose/RNMailComposeModule.java b/android/src/main/java/com/reactlibrary/mailcompose/RNMailComposeModule.java index f0f2bd0..5f57be3 100644 --- a/android/src/main/java/com/reactlibrary/mailcompose/RNMailComposeModule.java +++ b/android/src/main/java/com/reactlibrary/mailcompose/RNMailComposeModule.java @@ -4,7 +4,9 @@ import android.content.ActivityNotFoundException; import android.content.Intent; import android.net.Uri; +import android.os.Build; import android.os.Bundle; +import android.support.v4.content.FileProvider; import android.text.Html; import android.text.Spanned; import android.util.Base64; @@ -35,7 +37,7 @@ public class RNMailComposeModule extends ReactContextBaseJavaModule { - private static final int ACTIVITY_SEND = 129382; + private static final int ACTIVITY_SEND = 29382; private Promise mPromise; @@ -123,7 +125,16 @@ private void addAttachments(Intent intent, ReadableArray attachments) { } if (tempFile != null) { - uris.add(Uri.fromFile(tempFile)); + if (Build.VERSION.SDK_INT > Build.VERSION_CODES.M) { + Uri apkURI = FileProvider.getUriForFile( + getReactApplicationContext(), + getReactApplicationContext().getApplicationContext() + .getPackageName() + ".provider", tempFile); + intent.setDataAndType(apkURI, "image/*"); + uris.add(apkURI); + } else { + uris.add(Uri.fromFile(tempFile)); + } } } } diff --git a/ios/RNMailCompose/RNMailCompose.swift b/ios/RNMailCompose/RNMailCompose.swift index f1435fe..8ff4708 100644 --- a/ios/RNMailCompose/RNMailCompose.swift +++ b/ios/RNMailCompose/RNMailCompose.swift @@ -134,5 +134,10 @@ class RNMailCompose: NSObject, MFMailComposeViewControllerDelegate { } return false } + + @objc + static func requiresMainQueueSetup() -> Bool { + return false + } }