Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将应用程序的基本权限置于Android 5.1之上?_Android_Permissions_Android Permissions - Fatal编程技术网

如何将应用程序的基本权限置于Android 5.1之上?

如何将应用程序的基本权限置于Android 5.1之上?,android,permissions,android-permissions,Android,Permissions,Android Permissions,我是个新手 我的应用程序具有存储权限,对于5以下的所有api都运行良好 (这些用于浏览按钮选择文件或文件夹,然后执行指定操作) 权限是(在AndroidManifest.xml文件中): 我想知道如何为5.1以上的API在运行时授予“存储”权限 到目前为止我做了什么?:我在网上搜索过,但没有关于存储许可的详细完整答案 所有答案将不胜感激 这个问题不是重复的,因为这是关于:如何处理“永不再问”的问题,但我问这个问题,因为我没有得到任何关于Strorage权限的新手的详细完整描述 public

我是个新手

我的应用程序具有存储权限,对于5以下的所有api都运行良好

(这些用于浏览按钮选择文件或文件夹,然后执行指定操作)

权限是(在AndroidManifest.xml文件中):


我想知道如何为5.1以上的API在运行时授予“存储”权限

到目前为止我做了什么?:我在网上搜索过,但没有关于存储许可的详细完整答案

所有答案将不胜感激


这个问题不是重复的,因为这是关于:如何处理“永不再问”的问题,但我问这个问题,因为我没有得到任何关于Strorage权限的新手的详细完整描述

public  boolean isStoragePermissionGranted() {
    if (Build.VERSION.SDK_INT >= 23) {
        if (checkSelfPermission(android.Manifest.permission.WRITE_EXTERNAL_STORAGE)
                == PackageManager.PERMISSION_GRANTED) {
            Log.v(TAG,"Permission is granted");
            return true;
        } else {

            Log.v(TAG,"Permission is revoked");
            ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 1);
            return false;
        }
    }
    else { //permission is automatically granted on sdk<23 upon installation
        Log.v(TAG,"Permission is granted");
        return true;
    }


}

您可以这样授予您的权限:

public  boolean isStoragePermissionGranted() {
    if (Build.VERSION.SDK_INT >= 23) {
        if (checkSelfPermission(android.Manifest.permission.WRITE_EXTERNAL_STORAGE)
                == PackageManager.PERMISSION_GRANTED) {
            Log.v(TAG,"Permission is granted");
            return true;
        } else {

            Log.v(TAG,"Permission is revoked");
            ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 1);
            return false;
        }
    }
    else { //permission is automatically granted on sdk<23 upon installation
        Log.v(TAG,"Permission is granted");
        return true;
    }


}

尝试使用if-else条件检查任何特定手机的版本

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
            // your code
        }

尝试使用if-else条件检查任何特定手机的版本

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
            // your code
        }

那么,您是在谈论为Andorid 6.0+添加Rumtime权限吗

如果是的话


有关更多信息,请参阅。

那么您是在谈论为Andorid 6.0+添加Rumtime权限吗

如果是的话


有关更多信息,请参阅。

可能重复的@Mr X,先生,这个问题不是重复的,请参阅问题中上面的解释。@Mr X可能重复的,先生,这个问题不是重复的,请参阅问题中上面的解释。@CrazyandRod:我有一个MainActivity.java和一些其他片段(与导航抽屉一起使用),你能告诉我,把这段代码放在哪里吗?我想在第一次使用基本权限,然后只进行检查。你可以在你的活动或片段中编写这个方法,或者你可以创建一个AppUtil类,你可以很容易地使上面的方法成为静态的@Bati@CrazyAndriod:我有一个MainActivity.java和一些其他片段(与导航抽屉一起使用),您能告诉我,将此代码放在何处吗?我想在第一次使用基本权限,然后只进行检查。您可以在活动或片段中编写该方法,也可以创建一个AppUtil类,您可以轻松地将上述方法设为静态。@Bati