Java tutorial
/* * Copyright (C) 2017 IOTA Foundation * * Authors: pinpong, adrianziser, saschan * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ package org.iota.wallet.helper; import android.Manifest; import android.annotation.TargetApi; import android.app.Activity; import android.content.Context; import android.content.pm.PackageManager; import android.os.Build; import android.support.v4.app.ActivityCompat; import android.support.v4.content.ContextCompat; public class PermissionRequestHelper { public static boolean hasReadExternalStoragePermission(Context context) { int result = context.checkCallingOrSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE); return result == PackageManager.PERMISSION_GRANTED; } @TargetApi(Build.VERSION_CODES.M) public static void checkPermissionReadStorage(Activity activity) { if (ContextCompat.checkSelfPermission(activity, Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) { // Should we show an explanation? if (ActivityCompat.shouldShowRequestPermissionRationale(activity, Manifest.permission.READ_EXTERNAL_STORAGE)) { ActivityCompat.requestPermissions(activity, new String[] { Manifest.permission.READ_EXTERNAL_STORAGE }, Constants.REQUEST_STORAGE_PERMISSION); } else { //Read external storage permissions have not been granted yet so request them directly ActivityCompat.requestPermissions(activity, new String[] { Manifest.permission.READ_EXTERNAL_STORAGE }, Constants.REQUEST_STORAGE_PERMISSION); } } } public static boolean hasCameraPermission(Context context) { int result = context.checkCallingOrSelfPermission(Manifest.permission.CAMERA); return result == PackageManager.PERMISSION_GRANTED; } }