如何限制某些应用在Android上启动?

问题描述

| 我正在尝试构建一个沙盒环境,其中仅允许启动某些应用程序。 我最初决定尝试在后台轮询所有正在运行的应用程序,以查看正在运行的应用程序,然后杀死所有不在列表中的应用程序。但是,我发现您只能杀死后台进程,不能杀死活动任务。 如果可以做到,该怎么办?     

解决方法

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