我试图通过修改源代码来限制 Android 中的应用程序。我能够让它在互联网上工作,但我无法限制应用程序使用相机或位置?
Internet 权限在 linux 进程级别使用 group-id 强制执行。但是我的相机/位置没有以同样的方式强制执行。
所以我想知道限制这些权限的应用程序的最佳位置是什么。checkCallingPermission() enforceCallingPermission() 方法是正确的吗?
我试图通过修改源代码来限制 Android 中的应用程序。我能够让它在互联网上工作,但我无法限制应用程序使用相机或位置?
Internet 权限在 linux 进程级别使用 group-id 强制执行。但是我的相机/位置没有以同样的方式强制执行。
所以我想知道限制这些权限的应用程序的最佳位置是什么。checkCallingPermission() enforceCallingPermission() 方法是正确的吗?
你是对的。在这些方法中,您可以将您的钩子放在您将检查是否应限制应用程序的权限的位置。我们在实施 CRePE 时进行了类似的检查(在此处输入链接描述)。
我可能错了,但看起来您正在尝试重新发明自行车。解决这个问题的正确方法是使用 SEAndroid:
http://selinuxproject.org/page/SEAndroid
您正在尝试做的是提供的众多安全增强功能之一,您无需在每次需要更改某些内容时修改源代码,只需更新安全策略即可。具体来说,中间件 MAC 可以解决问题。