当我在清单中插入此权限时,它显示错误“权限仅授予系统应用程序”
实际上,我使用此权限来开发基于 Oauth2 令牌的应用程序。但我无法启用此权限。可以帮助我吗?
MODIFY_PHONE_STATE
权限仅授予系统应用程序。
供您参考,有 2 种类型的 Android 应用程序:系统和用户
用户应用程序只是您通过 Google Play 商店、亚马逊应用程序商店或侧载安装的所有正常应用程序。这些进入您的 Android 手机的 /data 分区,这是可用于用户数据和应用程序的内部存储器的一部分。
系统应用程序基本上是预装在您的 ROM 中的应用程序。在标准的 Android 用户环境中,用户没有对 /system 分区的写入权限,因此无法直接安装或卸载系统应用程序。
为了在您的 Android 设备上安装应用程序作为系统应用程序, 您的设备必须是 root 或安装了自定义恢复(或两者)。
话虽如此,该错误实际上是错误的,因为您有有效的代码并且编译应该可以工作。如果它发出警告会更好。在 Eclipse 中,您可以轻松修复它。只需前往:
Window -> Preferences -> Android -> Lint Error Checking.
从列表中找到ProtectedPermission并将严重性设置为错误以外的内容(例如信息)。这样你的项目仍然可以编译。