我开发了一个应用程序密码保护另一个应用程序(比如应用程序A)。因此,当我尝试打开应用A时,活动会在A的顶部上弹出,提示用户输入密码。输入错误后,应关闭该活动,也关闭应用A ,直接。
现在我尝试使用此代码执行此操作:
List<ActivityManager.RunningAppProcessInfo> pids = Unlock.am.getRunningAppProcesses();
for(int i = 0; i < pids.size(); i++)
{
ActivityManager.RunningAppProcessInfo info = pids.get(i);
if(info.processName.equalsIgnoreCase("com.A")){
pid = info.pid;
break;
}
}
android.os.Process.killProcess(pid);
但它不起作用。
后来我意识到这可能是因为app A的过程不是我应用程序进程的直接孩子(也就是说,我的应用程序没有调用app A)。那么无论如何我可以关闭,但不一定从我的应用程序中杀死应用程序A?我的意思是说,杀死应用A是可选但关闭它是强制性。
答案 0 :(得分:1)
也许这会奏效:
ActivityManager activityManager = (ActivityManager) context.getSystemService("activity");
activityManager.killBackgroundProcesses("com.A");
您需要向清单添加以下权限。
<uses-permission> android:name="android.permission.KILL_BACKGROUND_PROCESSES" </uses-permission>
答案 1 :(得分:1)
我不确定如何杀死另一个应用程序进程。但输入错误的密码后,您可以将用户带到主屏幕...
private void launchHomeScreen() {
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
startActivity(intent);
finish(); // finish our Activity (based on your requirement)
}