Java 从我的应用关闭应用
我开发了一个应用程序,它可以密码保护另一个应用程序(比如应用程序A)。因此,当我尝试打开应用程序A时,一个活动会弹出在一个应用程序顶部,提示用户输入密码。输入不正确时,它应关闭该活动,并关闭其正下方的应用程序A 现在,我尝试使用以下代码执行此操作:Java 从我的应用关闭应用,java,android,android-intent,Java,Android,Android Intent,我开发了一个应用程序,它可以密码保护另一个应用程序(比如应用程序A)。因此,当我尝试打开应用程序A时,一个活动会弹出在一个应用程序顶部,提示用户输入密码。输入不正确时,它应关闭该活动,并关闭其正下方的应用程序A 现在,我尝试使用以下代码执行此操作: List<ActivityManager.RunningAppProcessInfo> pids = Unlock.am.getRunningAppProcesses(); for(int i = 0
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);
List pids=Unlock.am.getRunningAppProcess();
对于(int i=0;i
但它不起作用
后来我意识到这可能是因为应用程序A的进程不是我的应用程序进程的直接子进程(也就是说,我的应用程序没有调用应用程序A)。那么,我是否可以关闭但不一定从我的应用程序中删除应用程序A?我的意思是,杀掉应用程序A是可选的,但关闭它是强制性的
ActivityManager activityManager = (ActivityManager) context.getSystemService("activity");
activityManager.killBackgroundProcesses("com.A");
您需要将以下权限添加到清单中
<uses-permission> android:name="android.permission.KILL_BACKGROUND_PROCESSES" </uses-permission>
android:name=“android.permission.KILL\u后台\u进程”
我不知道如何终止另一个应用程序进程。但输入错误的密码后,您可以将用户带到主屏幕
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)
}
可接受的变通办法。现在,我必须围绕它重新构造代码。:)谢谢我对android不太熟悉,但是不可能先获取另一个应用程序的活动引用,然后再
finish()
it?在这种情况下,要获取该活动的引用,我必须从我的应用程序启动它,这不是我想要的(目前为止)。所以这是不可行的。