Java Android:onRequestPermissionsResult lint警告
我会在我的应用程序中检查用户是否具有特定权限,如果他们没有该权限,我会请求:Java Android:onRequestPermissionsResult lint警告,java,android,permissions,Java,Android,Permissions,我会在我的应用程序中检查用户是否具有特定权限,如果他们没有该权限,我会请求: if (ActivityCompat.checkSelfPermission(someactivity, Manifest.permission_group.LOCATION) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(someactivity, PERMISSIONS_LOCAT
if (ActivityCompat.checkSelfPermission(someactivity, Manifest.permission_group.LOCATION) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(someactivity, PERMISSIONS_LOCATION, REQUEST_LOCATION);
} else {
useThePermission();
}
到目前为止还不错。然后,我为活动实现OnRequestPermissionsResultCallback并覆盖onRequestPermissionsResult,如下所示:
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
if (Util.verifyPermissions(grantResults)) {
useThePermission();
}
}
这就是事情变得混乱的地方——因为通过添加第一个检查,我丢失了关于用户可能没有正确权限的lint警告,但是,我在onRequestPermissionsResult()中得到了与使用permission()完全相同的警告。除了抑制该方法的lint检查之外,我还能做些什么吗?命名方法
checkPermission()
似乎可以解决这个问题。不确定是否会保持这种状态,但这似乎是目前唯一的方法,因为内部使用的注释是隐藏的。使用“onRequestPermissionsResult”函数并不意味着您需要使用OnRequestPermissionsResultCallback,因为活动已经为您处理了它
它在没有“OnRequestPermissionsResultCallback”文本的情况下工作。加上
活动的“onRequestPermissionsResult”,仅此而已。它将被调用
但是,我不知道何时调用“OnRequestPermissionsResultCallback”