尝试按照tech-docs中的说明应用@RequiresPermission
注释。
示例显示
如果您需要一组权限中的至少一个,则可以使用anyOf属性:
@RequiresPermission(anyOf = { Manifest.permission.ACCESS_COARSE_LOCATION, Manifest.permission.ACCESS_FINE_LOCATION}) public abstract Location getLastKnownLocation(String provider);
我尝试在我的代码中应用它,它执行一些蓝牙扫描:
@RequiresPermission(anyOf = {
Manifest.permission.ACCESS_COARSE_LOCATION,
Manifest.permission.ACCESS_FINE_LOCATION})
private void initiateConnectionProcess() {
startScanAndBroadcast();
}
给出错误
仅指定value,anyOf或allOf
之一
我想也许startScanAndBroadcast()
有一个allOf
注释,如果注释是递归解析的,可能会导致问题,但该方法根本没有注释。
如果方法主体为空,则错误仍然存在。
如果我没有列出权限,则错误消失:
@RequiresPermission(anyOf = { })
private void initiateConnectionProcess() {
这里出了什么问题?
答案 0 :(得分:2)
更新:
在Android Studio 2.2预览3中解决
经过一些检查后,似乎Android Studio 2.2预览2中出现此错误,但Android Studio 2.1.1中却没有。
即使它显示为错误,构建成功并且注释也能正常工作。
看来这是linter中的一个错误
提交了错误报告here。
答案 1 :(得分:0)