gpt4 book ai didi

android - 允许多个运行时权限

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:42:31 24 4
gpt4 key购买 nike

我正在编写代码以请求多个 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,
new String[]{READ_PHONE_STATE,WRITE_EXTERNAL_STORAGE,CAMERA, READ_CONTACTS, CALL_PHONE, ACCESS_FINE_LOCATION, READ_SMS},
REQUEST_READ_PHONE_STATE);
}
}
}

}

最佳答案

第一个参数是android.app.Activity类型,这里不能传context所以用this代替context 像下面的代码:-

if (ActivityCompat.shouldShowRequestPermissionRationale
(this, READ_PHONE_STATE) ||ActivityCompat.shouldShowRequestPermissionRationale
(this, WRITE_EXTERNAL_STORAGE)||
ActivityCompat.shouldShowRequestPermissionRationale
(this, CAMERA) ||
ActivityCompat.shouldShowRequestPermissionRationale
(this, READ_CONTACTS) || ActivityCompat.shouldShowRequestPermissionRationale
(this, CALL_PHONE) || ActivityCompat.shouldShowRequestPermissionRationale
(this, ACCESS_FINE_LOCATION) || ActivityCompat.shouldShowRequestPermissionRationale
(this, READ_SMS))

关于android - 允许多个运行时权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43626674/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com