我一直在开发一个应用程序,我需要在我的代码中关闭另一个应用程序。有谁知道可以调用关闭应用程序的任何 API?
顺便说一句:我的应用程序将被预装。
谢谢
 IT小君  
          2021-10-20T03:11:55 我一直在开发一个应用程序,我需要在我的代码中关闭另一个应用程序。有谁知道可以调用关闭应用程序的任何 API?
顺便说一句:我的应用程序将被预装。
谢谢
 IT小君 尝试这个
    ActivityManager am = (ActivityManager) getApplicationContext().getSystemService("activity");
    Method forceStopPackage;                
    forceStopPackage =am.getClass().getDeclaredMethod("forceStopPackage",String.class);
    forceStopPackage.setAccessible(true);
    forceStopPackage.invoke(am, pkg);
在清单文件中添加这个
<uses-permission android:name="android.permission.FORCE_STOP_PACKAGES"></uses-permission>
 IT小君 如果这两个应用程序都是你的,你可以使用 AIDL 进行进程间通信,以发送消息告诉另一个应用程序关闭。请参阅http://developer.android.com/guide/developing/tools/aidl.html。
 IT小君 由于 Android 活动生命周期,您真的不想关闭另一个应用程序。
没有任何好处,如果另一个应用程序不是你的,那么关闭它总是有害的,关闭你自己的应用程序几乎没有好处。
http://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle
如果您确定您永远不会需要根活动及其子活动(“应用程序”),您可以停止它以释放内存(它不会释放那么多),但如果您这样做,用户可能会在它仍在缓存中时重新启动它,停止,如果停止状态恢复,这可能会导致问题。所以这是一个不好的做法。
由于
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");