gpt4 book ai didi

android - 找不到方法 android.app.Activity.checkSelfPermission

转载 作者:搜寻专家 更新时间:2023-11-01 09:41:53 25 4
gpt4 key购买 nike

我正在尝试实现向首次使用我的应用程序的用户询问的运行时权限。这是代码:

if (Build.VERSION.SDK_INT > Build.VERSION_CODES.M) {
if ((ActivityCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED) &&
(ActivityCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED)) {
new masterdb(getApplicationContext());
new checkRegistration().execute();
} else {

}
} else {
//initialize database
}

但我的应用程序因应用程序无响应而崩溃。 logcat 显示如下内容:

Could not find method android.app.Activity.checkSelfPermission, referenced from method myPackageName.Lib.hasPermission 09-16 11:46:54.969 3763-3763/myPackageName W/dalvikvm: VFY: unable to resolve virtual method 170: Landroid/app/Activity;.checkSelfPermission (Ljava/lang/String;)I

这里的问题是,这段代码甚至不应该在 android Kitkat 中运行(检查权限)。但我仍然得到这个日志。当我将我的代码移出 sdk 版本检查的 if block 时,它运行正常。

最佳答案

请尝试使用此代码

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
for (String permission : permissions) {
int phoneStatePermission = Context.checkSelfPermission(permission);
if (phoneStatePermission != PackageManager.PERMISSION_GRANTED) {

}
}
}

关于android - 找不到方法 android.app.Activity.checkSelfPermission,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39524909/

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