问题描述
|
我正在尝试构建一个沙盒环境,其中仅允许启动某些应用程序。
我最初决定尝试在后台轮询所有正在运行的应用程序,以查看正在运行的应用程序,然后杀死所有不在列表中的应用程序。但是,我发现您只能杀死后台进程,不能杀死活动任务。
如果可以做到,该怎么办?
解决方法
唯一的方法是拥有平台签名密钥。如果您实现一个“活动观察者”(需要android.permission.SET_ACTIVITY_WATCHER,并需要通过平台签名密钥进行签名),则在开始新活动之前会收到通知,并且可以阻止它开始。
没有任何通用的方法,因为它会给恶意代码太多的自由。
, 如果出于安全原因而尝试执行此操作,那么似乎不太可能从应用程序获得任何可靠性。如果您足够认真,您可能会自定义操作系统本身,因为Android是开源的,但这是一项相当艰巨的任务。关于您为什么要这样做的任何细节?
,
我正在尝试构建一个沙盒环境,其中仅允许启动某些应用程序。
编写自己的固件。
或者,作为权宜之计,编写自己的主屏幕,该主屏幕不提供对“设置”应用程序的访问,因此可以防止安装应用程序。精明的用户将以安全模式重新启动设备,并返回到固件的主屏幕,这就是真正的解决方案是编写自己的固件的原因。