android - 为什么某些权限隐藏在 developer.android.com 中

标签 android android-manifest android-permissions

此处列出了 Android 权限:

Manifest.permission http://developer.android.com/reference/android/Manifest.permission.html

在 AndroidManifest.xml 中 https://android.googlesource.com/platform/frameworks/base/+/master/core/res/AndroidManifest.xml , Manifest.permission 中没有列出一些额外的权限。
这些隐藏权限在 AndroidManifest.xml 的描述中随 @hide 一起提供。

为什么隐藏了权限?
如果允许第三方应用程序使用这些权限,应用程序是否仍可以使用这些权限?

最佳答案

这些类型的权限适用于核心系统应用程序(来自制造商)和/或足够低级别以特定于 AOSP。

例子:

<!-- @hide Allows low-level access to tun tap driver -->
<permission android:name="android.permission.NET_TUNNELING"
    android:permissionGroup="android.permission-group.SYSTEM_TOOLS"
    android:protectionLevel="signature" />

此权限保留给 Android 的 AOSP 源代码。它属于 SYSTEM_TOOLS 权限组,并且只能在使用与操作系统相同的签名进行签名时使用。

API 团队只是决定不公开此权限,我怀疑任何人(核心系统应用程序除外)都可以使用它们,甚至可以声明他们正在使用它们 -- 隐藏 API = 私有(private) API

关于android - 为什么某些权限隐藏在 developer.android.com 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21750943/

相关文章:

android - 请求 SYSTEM_ALERT_WINDOW 权限后返回应用

android - shouldShowRequestPermissionRationale 为 false

java - 在两个 Android 应用程序之间共享数据/标志

java - 向下滚动时 ListView 图标出现在错误的行中

android - 无法启动 Activity ComponentInfo android.content.res.Resources$NotFoundException : Resource ID

android - 在没有主 Activity 的情况下启动 Android 应用程序并在启动应用程序时启动服务

android - map fragment 在 Android 中不起作用

android - LinearLayout 使用半屏

android - 应用程序图标在 Android 设备上不可见

android - 为什么我们需要 Android 中的权限树?