Android Studio:是否可以使用注解永久忽略权限检查?
Android Studio: Can permission inspections be permanently ignored using annotations?
我正在开发一个 Android 库,它提供了访问各种系统服务和收集数据进行分析的方法。我的 类 使用各种系统服务管理器(如 WifiManager
)来收集数据。
我喜欢构建我的库的清单,这样它就不会获取所有这些功能所需的所有可能权限。相反,我想让应用程序 consuming 该库只声明 it 需要的权限,这可能是图书馆所用内容的较小子集。
这在实践中确实有效,因为清单在构建过程中全部合并在一起,因此应用最终获得了使用库功能所需的权限。但是,由于 <uses-permission>
标记不在 中 库的清单中,因此代码都被 Android Studio 发出的警告点亮。
有没有办法注释我的库代码以便忽略权限检查?
当然,我可以简单地关闭 my Android Studio 设置中的 "Constant and Resource Type Mismatches" 检查,但这对其他尝试使用该库的人没有帮助。我试图在文档中找到对此检查的引用(所以我可以用 @SuppressWarnings
杀死它但还没有找到它。
这种方法值得吗?
…或者我应该让图书馆获得它需要的所有权限,这将迫使图书馆的消费者关闭不需要的那些使用tools:node="remove"
属性 在 它的 清单中?这里的问题是,当我向我的库添加功能时,我的库的消费者将不得不反复返回并显式地删除这些新权限。我觉得这不是一个很好的模型,我宁愿将权限请求留给我的消费者。
考虑以下关于该主题的对话 —
在问题周围随机右键单击,我能够在 Android Studio 中选择 Suppress for method 上下文命令,它添加了以下注释:
@SuppressWarnings( "ResourceType" )
所以……耶!这里有使用哪个注释的答案。
不过,我仍然对人们对这种方法的总体看法很感兴趣。请随时在答案部分讨论一下。 ^_^
我正在开发一个 Android 库,它提供了访问各种系统服务和收集数据进行分析的方法。我的 类 使用各种系统服务管理器(如 WifiManager
)来收集数据。
我喜欢构建我的库的清单,这样它就不会获取所有这些功能所需的所有可能权限。相反,我想让应用程序 consuming 该库只声明 it 需要的权限,这可能是图书馆所用内容的较小子集。
这在实践中确实有效,因为清单在构建过程中全部合并在一起,因此应用最终获得了使用库功能所需的权限。但是,由于 <uses-permission>
标记不在 中 库的清单中,因此代码都被 Android Studio 发出的警告点亮。
有没有办法注释我的库代码以便忽略权限检查? 当然,我可以简单地关闭 my Android Studio 设置中的 "Constant and Resource Type Mismatches" 检查,但这对其他尝试使用该库的人没有帮助。我试图在文档中找到对此检查的引用(所以我可以用
@SuppressWarnings
杀死它但还没有找到它。这种方法值得吗? …或者我应该让图书馆获得它需要的所有权限,这将迫使图书馆的消费者关闭不需要的那些使用
tools:node="remove"
属性 在 它的 清单中?这里的问题是,当我向我的库添加功能时,我的库的消费者将不得不反复返回并显式地删除这些新权限。我觉得这不是一个很好的模型,我宁愿将权限请求留给我的消费者。
考虑以下关于该主题的对话 —
在问题周围随机右键单击,我能够在 Android Studio 中选择 Suppress for method 上下文命令,它添加了以下注释:
@SuppressWarnings( "ResourceType" )
所以……耶!这里有使用哪个注释的答案。
不过,我仍然对人们对这种方法的总体看法很感兴趣。请随时在答案部分讨论一下。 ^_^