gpt4 book ai didi

android - 如果将 checkSelfPermission() 提取到方法中,仍会显示检查权限的警告

转载 作者:行者123 更新时间:2023-12-04 23:51:18 29 4
gpt4 key购买 nike

我明白为什么 Android Studio 显示 MissingPermission警告。

Call requires permission which may be rejected by user: code should explicitly check to see if permission is available (with checkPermission) or explicitly handle a potential SecurityException less... (⌘F1)



如果有 @RequiresPermission注解的方法,需要检查权限。所以为了防止警告,我需要做:
if (ActivityCompat.checkSelfPermission(this,
Manifest.permission.PERMISSION) == PackageManager.PERMISSION_GRANTED) {
methodThatNeedsAPermission();
}

现在,在条件检查中,这是一段相当长的代码。此外,我希望我的代码干净,我想提取检查以保持业务逻辑和 UI/Context 相关的 Android 代码分离,所以我想要:
public void startDoingSomething() {
if (hasPermission()) {
methodThatNeedsAPermission();
}
}

...

public boolean hasPermission() {
return ActivityCompat.checkSelfPermission(this,
Manifest.permission.PERMISSION) == PackageManager.PERMISSION_GRANTED;
}

但是有了这个,Android Studio 仍然显示警告。

当然,我可以使用 @SuppressLint("MissingPermission") 来抑制警告。但我为什么要这样做? 我正在检查许可。

有没有一种干净的方法来解决这个问题?我要添加到 hasPermission() 的某种注释方法以便 Android Studio 知道我正在检查权限?

最佳答案

我有这样的情况,解决方案是遵循这条路

文件 > 设置 > 编辑器 > 检查 > Android 点击向下指针
Lint 单击向下指针 > 正确性单击向下指针
然后在消息下向下滚动到缺少权限取消选中该框
单击应用和确定

Lint 很棒,但并不总是正确的

关于android - 如果将 checkSelfPermission() 提取到方法中,仍会显示检查权限的警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52314830/

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