繁体   English   中英

权限仅授予Manifest中的系统应用程序

[英]Permission is only granted to system app, in Manifest

我想将此权限添加到我的Android清单中:

 <uses-permission android:name="android.permission.MODIFY_PHONE_STATE" /> 

但是在我将此权限粘贴到我的清单后,它会测试红色下划线并说:

权限仅授予系统应用程序

我能做什么?

MODIFY_PHONE_STATE权限仅授予系统应用程序。

有关您的信息,有两种类型的Android应用:系统和用户

用户应用程序只是通过Google Play商店,Amazon Appstore或侧载功能安装的常规应用程序。 这些进入Android手机的/ data分区,这是内部存储器的一部分,可用于用户数据和应用程序。

系统应用程序基本上是预先安装了ROM的应用程序。 在标准的Android用户环境中,用户没有对/ system分区的写入权限,因此无法直接安装或卸载系统应用程序。

要在Android设备上将应用程序安装为系统应用程序, 您的设备必须已植根或已安装自定义恢复(或两者都有)

话虽这么说,该错误实际上是错误的,因为你有一个有效的代码和编译应该工作。 如果它发出警告会更好。 在Eclipse中,您可以轻松修复它。 只是去:

窗口 - >首选项 - > Android - > Lint错误检查。

从列表中查找ProtectedPermission并将严重性设置为错误以外的其他内容(例如info)。 这样你的项目仍然可以编译。

MODIFY_PHONE_STATE是仅限系统的权限。 系统应用程序预先安装到系统文件夹中,或由制造商使用其安全证书进行编译。

因此,如果您尝试这样做,则尝试使用不再受支持的API。 使用Android版本2.3+,您可以监控来电,但不允许阻止(我想你发布的链接就是你要做的事情)。

如果您需要遵循Android问题: 问题15022问题14789

当您更改清单时,此错误将出现在SDK 19及更高版本中。 做项目清洁和建设。 它应该清除这个错误。

只是清理你的项目它会像这样:

项目>清洁......

因为这是系统级权限设备开发人员不授予此权限,因此应用程序开发工具也会对此进行警告,因此您必须这样做

简单清理项目并重建这就是它

从列表中找到ProtectedPermission

Window -> Preferences -> Android -> Lint Error Checking.

并将严重性设置为错误以外的其他内容(例如信息)。 这样你的项目仍然可以编译。

有四种类型的权限

Regular
Dangerous
Signed
Signed or System

The first two can be used by Simple Apps其他两个只能由构建在框架中的应用程序使用

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM