如何在Android中关闭其他应用?

Jim*_*mmy 6 java android

我一直在开发一个应用程序,我需要在我的代码中关闭另一个应用程序.有谁知道任何API打电话关闭应用程序?

顺便说一句:我的应用程序将预先安装.

谢谢

Nic*_*ick 6

由于Android 2.2(即前进),您只能关闭background processes其他应用程序,您无法再关闭其主要活动.

如果您的应用定位Android <2.2,请查看android.permission.RESTART_PACKAGE.

如果你希望它在2.2及以上(你应该:-))上正常工作,那么看一下android.permission.KILL_BACKGROUND_PROCESSES,但是这只会关闭后台服务等等,并且可能"弄乱"其他应用程序而不是做任何好处.

使用正确的权限,您可以执行以下操作:

private ActivityManager am = (ActivityManager) this.getSystemService(ACTIVITY_SERVICE);
am.restartPackage("com.jimmy.appToBeClosed");
Run Code Online (Sandbox Code Playgroud)


Ahm*_*med 5

尝试这个

    ActivityManager am = (ActivityManager) getApplicationContext().getSystemService("activity");
    Method forceStopPackage;                
    forceStopPackage =am.getClass().getDeclaredMethod("forceStopPackage",String.class);
    forceStopPackage.setAccessible(true);
    forceStopPackage.invoke(am, pkg);
Run Code Online (Sandbox Code Playgroud)

在清单文件中添加此

<uses-permission android:name="android.permission.FORCE_STOP_PACKAGES"></uses-permission>
Run Code Online (Sandbox Code Playgroud)


poe*_*poe 0

如果两个应用程序都是您的,您可以使用 AIDL 进行进程间通信,发送消息告诉另一个应用程序关闭。请参阅http://developer.android.com/guide/developing/tools/aidl.html