如何在Marshmallow Android下面处理权限问题

时间:2017-06-29 12:15:49

标签: android

如何在Sdk 22中处理权限问题。如果用户手动拒绝权限。他们是在Marshmallow处理权限的方式,但如何在M?下面完成。

3 个答案:

答案 0 :(得分:1)

Android Marshmallow用户只需安装您的应用程序即可接受权限(他们可以在安装前查看请求权限列表)。

因此,您不需要为运行Android Marshmallow以下版本的用户处理拒绝权限。

答案 1 :(得分:1)

以下Marshmallow版本只需在清单文件中给予权限。

答案 2 :(得分:0)

实际上Android最低sdk版本21-22,即5.0不需要检查权限,但是当我们必须在不同的手机上测试我们的应用程序时,例如。在最低sdk版本23上,即在棉花糖上。您需要在应用程序外部检查权限。

用于处理App中的权限

在您的Starting_Activity中写下以下代码

private void requestingPermission(){
if (ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.ACCESS_NETWORK_STATE)){
    //Exaplian here why you need this permission
}
//Ask for the permission
ActivityCompat.requestPermissions(this,new String[]{ 
        Manifest.permission.ACCESS_NETWORK_STATE, },STORAGE_PERMISSION_CODE);}

现在添加另一个

@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);

//checking the request code of Permission request
if (requestCode == STORAGE_PERMISSION_CODE){
    if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED){//Toast.makeText(getApplicationContext(),"Permission Granted",Toast.LENGTH_SHORT).show();
    }else{
        Toast.makeText(getApplicationContext(),"Permission Denied",Toast.LENGTH_SHORT).show();
    }
  }
}

请勿在您的活动onCreate()方法

中忘记调用以下方法
requestingPermission();