由于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)
尝试这个
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)
如果两个应用程序都是您的,您可以使用 AIDL 进行进程间通信,发送消息告诉另一个应用程序关闭。请参阅http://developer.android.com/guide/developing/tools/aidl.html。
| 归档时间: |
|
| 查看次数: |
17434 次 |
| 最近记录: |