-2

我正在 android 中创建一个锁定应用程序,它获取安装在 android 设备中的所有当前应用程序,并为用户创建一个选项来设置他希望锁定的任何应用程序的锁定。

当首先单击该应用程序时,如果密码正确,锁定应用程序会询问解锁密码,它会打开应用程序。

我在这样做时面临这些问题:

1>如果输入的密码错误,那么应用程序不应该打开,或者根本无法启动,我知道杀死其他应用程序基本上是不可能的,所以我可以做类似的事情

a> 应用程序根本没有启动,或者

b> 如果这也是不可能的,那么我至少可以让它成为背景,

我无法执行任何这些程序

2>如果我第一次锁定电子邮件并尝试打开电子邮件,电子邮件正在打开我的锁定活动,但随后电子邮件活动进入前台,使我的密码锁定活动进入后台,但我的密码活动是应该要求输入密码并仅在前台输入密码或取消密码

这个问题怎么处理??

编辑:我已经解决了上述问题,但在执行此操作时仍然遇到问题

activmanager.killBackgroundProcesses(pack);

我正在从后台运行的服务中获取包名称,以检查锁定的应用程序是否已启动

请帮忙

谢谢

4

1 回答 1

0

我得到了解决问题的方法,如果其他人需要这个答案,我会添加答案

1> 我调用了主屏幕,以便调用任何应用程序都进入后台

进入主屏幕的代码:

Intent startMain = new Intent(Intent.ACTION_MAIN);
startMain.addCategory(Intent.CATEGORY_HOME);
startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(startMain);

现在我用过

activmanager = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
activmanager.killBackgroundProcesses(pack);

杀死进程,但它仍然没有杀死目标包,并且

2> 我有一项服务正在检查启动了哪个应用程序,如果启动了锁定的应用程序,则启动密码活动,因此我已将这些标志添加到意图中,并且电子邮件应用程序没有像以前那样占据前台以前,我的密码活动仅在前台

in.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
in.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
in.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
于 2013-10-01T11:34:16.947 回答