android studio 6.0以上动态申请权限的代码

下午用小米真机调试时发现权限明明已经在AndroidManifest.xml中添加过了,但还是没有申请到应该有的权限,解决办法是下面的代码

    //读写权限 具体权限加在字符串里面
    private static String[] PERMISSIONS_STORAGE = {
            Manifest.permission.READ_EXTERNAL_STORAGE,
            Manifest.permission.WRITE_EXTERNAL_STORAGE
    };

    //请求状态码
    private static int REQUEST_PERMISSION_CODE = 1;

    //循环申请字符串数组里面的权限,在小米中是直接弹出一个权限框等待用户确认,确认一次既将上面数组里面的权限全部申请
    if (Build.VERSION.SDK_INT > Build.VERSION_CODES.LOLLIPOP) {
            if (ActivityCompat.checkSelfPermission(AlertActivity.this, Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED) {
                ActivityCompat.requestPermissions(AlertActivity.this, PERMISSIONS_STORAGE, REQUEST_PERMISSION_CODE);
            }
        }

下面是使用例子:

public class AlertActivity extends AppCompatActivity {

    //读写权限
    private static String[] PERMISSIONS_STORAGE = {
            Manifest.permission.READ_EXTERNAL_STORAGE,
            Manifest.permission.WRITE_EXTERNAL_STORAGE
    };
    //请求状态码
    private static int REQUEST_PERMISSION_CODE = 1;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_alert);

        //循环申请字符串数组里面所有的权限
        if (Build.VERSION.SDK_INT > Build.VERSION_CODES.LOLLIPOP) {
            if (ActivityCompat.checkSelfPermission(this, Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED) {
                ActivityCompat.requestPermissions(this, PERMISSIONS_STORAGE, REQUEST_PERMISSION_CODE);
            }
        }
    }

 }

看不懂私聊

猜你喜欢

转载自blog.csdn.net/Misters_Chen/article/details/81748573
今日推荐