Android @RequirePermission 在 onRequestPermissionsResult granted 中以红色突出显示方法
Android @RequirePermission highlights method in red in onRequestPermissionsResult granted
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
注释我的方法时,我不喜欢被这样警告...我能做什么?
在方法上方添加此注释以避免警告
@SuppressWarnings({"MissingPermission"})
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
注释我的方法时,我不喜欢被这样警告...我能做什么?
在方法上方添加此注释以避免警告
@SuppressWarnings({"MissingPermission"})