2014-07-04 60 views
0

我想创建应用程序,它可以拒绝来电(EDIT 2在该主题):How to reject any incoming call when I have already detected it是否可以创建Android系统应用程序来授予系统权限,准确地说是MODIFY_PHONE_STATE?

的情况是,我可能需要权限:MODIFY_PHONE_STATE。哪些只能授予系统应用。但还有其他呼叫者/电话应用程序可以阻止呼叫,或者更换默认的拨号程序,以便以某种方式完成。我只会在我的手机上安装此应用程序。

结束语:是否有创建应用程序的可能性,将有Android系统应用程序的状态授予必要的权限?

我找到了这个:To get these permissions, the application must be signed with the key which used to sign the platform. This may be different for manufacturers. So it practically not possible to get these permissions granted to a user application. 如何做到这一点?

+0

你是否愿意根据你的手机使这个应用程序工作? –

+0

@StephanBranczyk我希望它至少能在我的手机上工作。 – Yoda

+0

@StephanBranczyk可以在任何地方工作。 Działatak jak powinno。 – Yoda

回答

1

系统级权限与签名级权限不完全相同。

  • 只能为系统应用程序获取系统级权限。系统应用程序可以安装在特定位置(在/system下)。但是,您通常无法在其中放置应用程序,除非设备已植根或具有自定义恢复。
  • 签名级权限仅授予使用与定义权限的应用程序相同密钥签名的应用程序。

因此,要获得系统级权限,您可以正常开发应用程序,但如果不遵循更复杂的过程,则无法实际安装它。例如,检查this link

至于MODIFY_PHONE_STATE特别是它被标记为signatureOrSystem。见this issuethe declaration。所以这是一个系统级的权限。

,该系统只授予给那些在 Android系统的图像或应用程序使用相同的证书 为声明的许可申请签署的许可。

+0

MODIFY_PHONE_STATE是系统还是签名级别权​​限?如果签名我必须知道拨号器的键? – Yoda

+0

@Yoda系统。看到更新的答案 – matiash

+0

好的。 MODIFY_PHONE_STATE没有必要。 'PROCESS_INCOMING_CALLS'就足够了,它可以被授予任何应用程序。奇怪的是Eclipse没有找到它,你必须逐字输入。 – Yoda

相关问题