我在android中创建一个锁定应用程序,它获取安装在Android设备中的所有当前应用程序,并为用户创建一个选项,以锁定他想要锁定的任何应用程序。
当点击该应用程序时,锁定应用程序会在密码正确时请求解锁密码,它会打开该应用程序。
我这样做时遇到了这些问题:
1>如果输入的密码错误,那么应用程序不应该打开,或者根本不启动,我知道杀死其他应用程序基本上不可能,所以我可以做任何事情,如
A>应用程序根本不启动,或
B个如果这也是不可能的话,那我至少可以把它变成背景,
我无法执行任何这些程序
2 - ;如果我第一次锁定电子邮件并尝试打开电子邮件,电子邮件正在打开我的锁定活动,但随后电子邮件活动即将到达前台,使我的密码锁活动变为后台,但我的密码活动应该是要求输入密码并保持在前台,只输入密码或取消密码
如何处理这个问题??
编辑:我已经解决了上述问题,但在执行此操作时仍然遇到问题activmanager.killBackgroundProcesses(pack);
我从正在后台运行的服务中获取程序包名称,以检查锁定的应用程序是否已启动
请帮助
感谢
答案 0 :(得分: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);