强制自定义主屏幕应用程序,不允许默认返回

时间:2014-02-21 14:44:06

标签: android android-intent

我想在我的孩子的手机上使用一种类似于此的父母控制选项:使用手机的唯一方法是执行某项(可能无聊的)任务。目标是阻止经常使用手机。因此,如果手机关闭或屏幕处于空白/空闲状态并且打开它们,则会显示锁定屏幕,这使得他们可以执行一些操作,并且只有在他们按照要求进行操作时才能访问所有其他正常的手机功能要做。

现在在Android 4.0之前我会实现一个锁屏应用程序,我会完成。但是使用4.0+主页按钮按下事件无法捕获,因此锁屏应用程序将无法工作,他们只需点击主页按钮即可。

使用4.0+我仍然可以实现一个完整的主屏幕应用程序或启动器,我可以抓住主页按钮按下事件。这一切看起来都不错,但我的孩子可以直接进入菜单,他们可以从所有可用的发射器中选择,他们将看到我的自定义启动器和默认启动器,他们只需选择默认启动器。

现在我认为,我想要完成的是4.0+不可能实现的目标。这是真的吗,还是我忽略了什么?

1 个答案:

答案 0 :(得分:1)

您可以编写一个可以在其他应用UI上绘制的应用,而不是实现主屏幕或锁定屏幕,这样您的孩子就必须执行这些无聊的任务,无论他们是锁定手机还是使用的是哪个启动器。

为此,您需要实现一项服务(以便您的代码在后台运行 - 因为您不会运行自己的活动)。 您可以通过调用Context.getSystemService:

来获取对窗口管理器的引用

mWindowManager = (WindowManager) getSystemService(Context.WINDOW_SERVICE);

一旦您引用了窗口管理器,只需创建自己的视图(从XML扩展或在代码中创建它)并通过mWindowManger.addView(...)

将其添加到窗口中