diff --git a/ReactAndroid/src/main/java/com/facebook/react/modules/permissions/PermissionsModule.java b/ReactAndroid/src/main/java/com/facebook/react/modules/permissions/PermissionsModule.java index 605496434..634dc8955 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/modules/permissions/PermissionsModule.java +++ b/ReactAndroid/src/main/java/com/facebook/react/modules/permissions/PermissionsModule.java @@ -15,7 +15,6 @@ import android.content.pm.PackageManager; import android.os.Build; import android.os.Process; import android.util.SparseArray; - import com.facebook.react.bridge.Callback; import com.facebook.react.bridge.Promise; import com.facebook.react.bridge.ReactApplicationContext; @@ -27,7 +26,6 @@ import com.facebook.react.bridge.WritableNativeMap; import com.facebook.react.module.annotations.ReactModule; import com.facebook.react.modules.core.PermissionAwareActivity; import com.facebook.react.modules.core.PermissionListener; - import java.util.ArrayList; /** @@ -116,7 +114,7 @@ public class PermissionsModule extends ReactContextBaseJavaModule implements Per @Override public void invoke(Object... args) { int[] results = (int[]) args[0]; - if (results[0] == PackageManager.PERMISSION_GRANTED) { + if (results.length > 0 && results[0] == PackageManager.PERMISSION_GRANTED) { promise.resolve(GRANTED); } else { PermissionAwareActivity activity = (PermissionAwareActivity) args[1]; @@ -175,7 +173,7 @@ public class PermissionsModule extends ReactContextBaseJavaModule implements Per PermissionAwareActivity activity = (PermissionAwareActivity) args[1]; for (int j = 0; j < permissionsToCheck.size(); j++) { String permission = permissionsToCheck.get(j); - if (results[j] == PackageManager.PERMISSION_GRANTED) { + if (results.length > 0 && results[j] == PackageManager.PERMISSION_GRANTED) { grantedPermissions.putString(permission, GRANTED); } else { if (activity.shouldShowRequestPermissionRationale(permission)) {