Java 如何在Android中关闭另一个应用程序?

Java 如何在Android中关闭另一个应用程序?,java,android,Java,Android,我一直在开发一个应用程序,我需要在代码中关闭另一个应用程序。有人知道要关闭应用程序需要调用什么api吗 顺便说一句:我的应用程序将预装 谢谢如果两个应用程序都是您的,您可以使用AIDL进行进程间通信,以发送消息通知另一个应用程序关闭。请参阅。由于Android 2.2(即向前),您只能关闭其他应用程序的后台进程,因此无法再关闭其主要活动 如果您的应用程序以Android为目标由于Android活动生命周期的原因,您永远不会真正想要关闭另一个应用程序。 关闭另一个应用程序(如果它不是您的应用程序)

我一直在开发一个应用程序,我需要在代码中关闭另一个应用程序。有人知道要关闭应用程序需要调用什么api吗

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


谢谢

如果两个应用程序都是您的,您可以使用AIDL进行进程间通信,以发送消息通知另一个应用程序关闭。请参阅。

由于
Android 2.2
(即向前),您只能关闭其他应用程序的
后台进程
,因此无法再关闭其主要活动


如果您的应用程序以Android为目标由于Android活动生命周期的原因,您永远不会真正想要关闭另一个应用程序。
关闭另一个应用程序(如果它不是您的应用程序)没有好处,而且总是有害的,关闭您自己的应用程序几乎没有好处

如果您确实知道永远不需要根活动及其子活动(“应用”),您可以停止它以释放内存(它不会释放那么多),但如果您这样做,用户可能会在它仍在缓存中时重新启动它,停止,如果恢复停止状态,可能会导致问题。所以这是一种不好的做法。

试试这个

    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>


不要这样做。你不应该“关闭”别人的办公室apps@Falmarri为什么不呢?你有没有想过这是一个实际的需求?am.restartPackage()已经被弃用,现在他们使用另一个api“killbackgroundprocesss()”。但是谢谢,非常感谢。而且,预装是最糟糕的想法。请告诉你的老板,强迫用户使用软件是邪恶的。你是否偶然为Verizon工作?我当然有一个有效的用例来强制关闭一个恶意的Android应用程序。我设备上的拨号器应用程序由于其实现中的错误而出现问题。具体来说,它正在耗尽电池,而且永远不会有更新,首先是因为它是Android,其次是因为我的手机很旧。我发现,在诸如通话之类的事件发生后强制关闭它不会对我的手机的使用产生负面影响,但它确实节省了电池,因此我希望有一个监控和强制关闭拨号器的服务,而不是我手动操作。这实际上很有效!(我的应用程序是用系统证书签名的)什么是
“活动”
String.class
pkg
<uses-permission android:name="android.permission.FORCE_STOP_PACKAGES"></uses-permission>