Android DPC 应用程序和系统应用程序的权限有什么区别吗?系统应用程序是否能够执行 DPC 可以执行的所有功能,例如将设备设置为单机使用模式?
1 回答
好吧,就Android系统而言,权限没有这样的差异。
如果您查看Android Platform Architecture,您会发现即使是普通用户应用程序也可以像系统应用程序一样访问所有系统资源。
平台附带的应用程序在用户选择安装的应用程序中没有特殊地位。因此,第三方应用程序可以成为用户的默认网络浏览器、SMS Messenger,甚至是默认键盘(某些例外情况适用,例如系统的设置应用程序)。
您可以在此处阅读有关系统和用户应用程序的更多差异。
另外,需要注意的另一个有趣的点是,在生产设备上只有 3 个进程作为 运行root
,即Zygote、app_process和adbd(尽管它不允许直接使用 root 访问adb
)。这意味着,所有其他应用程序都以不同的权限在自己的权限下运行,user_id
并且由于 Android 不区分应用程序,因此具有相同权限的两个应用程序被允许具有相同的权限和对资源的访问权限,无论它是系统应用程序还是用户应用程序。
现在,为了回答您的问题,如果系统应用程序具有与DPC应用程序相同的权限,那么是的,该应用程序将能够执行与DPC相同的给定任务(例如将设备设置为单次使用模式)而不会出现任何问题。
附带说明一下,如果您计划为您的组织创建DPC,使用DPC 支持库比创建和发布系统应用程序更好。
PS 要更改系统设置,您的应用需要WRITE_SETTINGS权限。