Android @RequirePermission在授予

时间:2017-02-09 13:40:44

标签: java android annotations android-permissions runtime-permissions

Android Studio(2.2.3)警告我不要使用@RequiresPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE)注释的方法。

我可以提出这样的警告,但在我的情况下,这是无意义的:我在onRequestPermissionsResult内调用方法,在那里我检查WRITE_EXTERNAL_STORAGE权限是否已经确实被授予:

if (permissions[0].equals(Manifest.permission.WRITE_EXTERNAL_STORAGE) && grantResults[0] == PackageManager.PERMISSION_GRANTED)
            CSVUtils.setup(); // -> is highlighted in red!!

因此,根据警告建议,我正在使用checkSelfPermission(),但Android Studio告诉我这是 SDK 23 ,而我将SDK 21作为最低目标,而我正在使用只能在SDK 23或更新版本中调用。这实际上违背了目的,因为如果用户运行的是SDK 23或更新版本,我已经制作了检查权限的所有代码,那么我为什么还要做更多的检查呢?

无论如何,这不是一个真正的问题,只是当我不需要用@RequirePermission注释我的方法时,我不喜欢被这样警告...什么可以我呢?

1 个答案:

答案 0 :(得分:4)

在方法上方添加此注释以避免警告 @SuppressWarnings({"MissingPermission"})