java - Android @RequirePermission 在 onRequestPermissionsResult 中以红色突出显示授予的方法

标签 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 注释我的方法时,我不喜欢以这种方式警告我。 ...我能做什么?

最佳答案

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

关于java - Android @RequirePermission 在 onRequestPermissionsResult 中以红色突出显示授予的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42138280/

相关文章:

android - 在android中按下按钮时缩小动画

C# 在 List<string> 上设置数据注释

delphi - 使用 Rtti 设置方法字段

java - 如何在 Alfresco 中获取文件夹的所有子项?

android - 来自android webview的onShowFileChooser()只工作一次

java - 记录自定义操作事件 Liferay - 用户添加+删除

java - IntelliJ Android 运行时异常 : ClassNotFound, 未在路径上找到类

java - Spring注解方法用途

java - 升级 Spring,现在 Freemarker 抛出 NoSutchMethod 错误

java - 如何编辑 Hibernate Search java 源代码,或者可能是一个解决方法?