【发布时间】:2016-07-02 01:40:20
【问题描述】:
这是我的代码,它运行良好。
if (ActivityCompat.checkSelfPermission(activity, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED || ActivityCompat.checkSelfPermission(activity, Manifest.permission.ACCESS_COARSE_LOCATION) == PackageManager.PERMISSION_GRANTED) {
mMap.setMyLocationEnabled(true);
}
但是我不喜欢每次检查都写这么大的代码,我想把它委托给我的实用程序类中的一个方法。
if (Utils.hasMapLocationPermissions(getActivity())) {
mMap.setMyLocationEnabled(true);
}
但是setMyLocationEnabled 有注释@RequiresPermission 因此我不能将它委托给方法,因为 lint 和 editor 将其显示为 错误。
是否有一些注释可以写在我的实用方法上并抑制 lint?
类似的东西
@ChecksPermission
public boolean hasMapLocationPermissions(Activity activity) {
return // my checking logic..
}
【问题讨论】:
-
尝试将
setMyLocationEnabled放入try-catch并处理SecurityException。应该在没有注释的情况下工作。 -
代码仍然很大,看起来很难看。我想用简洁的小代码来解决。
标签: android annotations coding-style lint error-suppression