我正在编写代码,要求在组中的
android 6.0上获得多个运行时权限.一切都很好,我为此做了一些很好的例子,但仍然有问题.
在ActivityCompat.shouldShowRequestPermissionRationale(context,READ_PHONE_STATE)中,它给出了关于上下文的错误
错误的第一个论证背景请帮忙解决问题.
提前致谢
代码是:
if (ContextCompat
.checkSelfPermission(SpalshActivity.this,READ_PHONE_STATE)+ContextCompat.checkSelfPermission(context,WRITE_EXTERNAL_STORAGE) +ContextCompat.checkSelfPermission(context,CAMERA) + ContextCompat
.checkSelfPermission(context,READ_CONTACTS)+ContextCompat
.checkSelfPermission(context,CALL_PHONE)+ContextCompat
.checkSelfPermission(context,ACCESS_FINE_LOCATION)+ContextCompat
.checkSelfPermission(context,READ_SMS)== PackageManager.PERMISSION_GRANTED) {
myMethod();
}
else {
if (ActivityCompat.shouldShowRequestPermissionRationale
(context,READ_PHONE_STATE) ||ActivityCompat.shouldShowRequestPermissionRationale
(context,WRITE_EXTERNAL_STORAGE)||
ActivityCompat.shouldShowRequestPermissionRationale
(context,CAMERA) ||
ActivityCompat.shouldShowRequestPermissionRationale
(context,READ_CONTACTS) || ActivityCompat.shouldShowRequestPermissionRationale
(context,CALL_PHONE) || ActivityCompat.shouldShowRequestPermissionRationale
(context,ACCESS_FINE_LOCATION) || ActivityCompat.shouldShowRequestPermissionRationale
(context,READ_SMS)) {
Snackbar.make(findViewById(android.R.id.content),"Please Grant Permissions",Snackbar.LENGTH_INDEFINITE).setAction("ENABLE",new View.OnClickListener() {
@Override
public void onClick(View v) {
ActivityCompat.requestPermissions(SpalshActivity.this,new String[]{READ_PHONE_STATE,WRITE_EXTERNAL_STORAGE,CAMERA,READ_CONTACTS,CALL_PHONE,ACCESS_FINE_LOCATION,READ_SMS},REQUEST_READ_PHONE_STATE);
}
}).show();
} else {
ActivityCompat.requestPermissions(SpalshActivity.this,REQUEST_READ_PHONE_STATE);
}
}
}
}