我不能在我的应用程序上授予以下权限。建议任何替代方案?

时间:2016-12-22 13:23:41

标签: android android-manifest android-permissions user-permissions

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

我无法在android清单文件中授予此权限,因为它显示以下内容 错误:

  

具有保护级别签名或signatureOrSystem的权限仅授予系统应用程序。如果某个应用是常规的非系统应用,则永远无法使用这些权限。

那么,我现在该怎么办?

3 个答案:

答案 0 :(得分:1)

为此&#34; CALL_PRIVILEGED&#34;权限,您将需要一个root设备,该应用程序必须仅作为系统应用程序安装。

答案 1 :(得分:1)

从文档(https://developer.android.com/reference/android/Manifest.permission.html#CALL_PRIVILEGED):

String CALL_PRIVILEGED
Allows an application to call any phone number, including emergency numbers, 
without going through the Dialer user interface for the user to confirm the 
call being placed.

Not for use by third-party applications.

所以,简短的回答是你无法使用它。你想要完成什么?

答案 2 :(得分:1)

  

具有保护级别签名或signatureOrSystem的权限   仅授予系统应用程序。如果应用程序是常规非系统   应用永远无法使用这些权限

     

那么,我现在该怎么办?

如果您的应用预计会在非root设备上运行,那么您只是注定要失败 - 除非您有平台密钥用它来签署您的应用,否则您无能为力。

或者,您可以将受众范围缩小到只有root用户设备,但这样可以让您按照自己的意愿行事。使用通常为平台或系统应用程序保留的功能。

最后,您可以重新考虑您的方法。也许您想要做的事情可以通过其他方式实现,而无需提升应用程序权限。