2.1 之前可以用
ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
am.restartPackage(getPackageName());
就可以完全退出
 别忘了在xml里面加上权限
<uses-permission android:name="android.permission.RESTART_PACKAGES" />==========
2.2 的时候, api有所发动  restarPackage 不再起作用,改为killBackgroundProcessesActivityManager am = (ActivityManager) activity.getSystemService(Context.ACTIVITY_SERVICE);
am.killBackgroundProcesses(activity.getPackageName());
别忘了设置 
<uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES " />但试了之后,没有终止并退出程序=================
可的人可能会说用下面方式,
System.exit(0);但是这种方式只是退出 activity, 并不是退出程序谢谢各位
====================
另外有种方式, http://osdir.com/ml/Android-Developers/2010-07/msg01351.html
http://pboos.ch/wordpress/tag/android/
http://pastebin.com/XYc299Uz> > > private void forceStopPackage(String pkgName) {
> > > ActivityManager am = (ActivityManager)getSystemService(
> > > Context.ACTIVITY_SERVICE);
> > > am.forceStopPackage(pkgName);
> > > checkForceStop();
> > > }但是我没有成功,就是报那个 android.permission.FORCE_STOP_PACKAGES 的异常,但是我在 AndroidManifest.xml 设置了,还是没用

解决方案 »

  1.   

    http://comments.gmane.org/gmane.comp.handhelds.android.devel/103031
    这里也有  forceStopPackage 的说明,但是还是没成功
      

  2.   

    学习一下, 初学Android, 学习下下
      

  3.   

    引用:“就是报那个 android.permission.FORCE_STOP_PACKAGES 的异常,但是我在 AndroidManifest.xml 设置了,还是没用”你需要在AndroidManifest.xml 把package的userid设置为system,这样就可以停止了。
      

  4.   

    添加:
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
            package="com.android.settings"
            android:sharedUserId="android.uid.system">
      

  5.   

    直接kill掉
    android.os.Process.killProcess(android.os.Process.myPid());
    不过好像偶尔也会有问题
      

  6.   

    谢谢你们的回复,
    to
    cai75951577,还是没起作用to liujinrui jindan_jinming
    这样之后,和直接用 system.exit(0)一样,只会退出到上一个activity,而不是回到首页面
      

  7.   

    2.2中restarPackage只是标记为过时的,不推荐使用,但还是起作用的。
    android:sharedUserId="android.uid.system"的方式只对ROOT权限的系统有效
      

  8.   

    http://www.android123.com.cn/androidkaifa/519.html 和 http://www.android123.com.cn/androidyizhi/595.html就可以了,注意权限问题
      

  9.   

    你说的程序是你的工程吧, 那就让他返回Home 桌面就ok了, 不过, 在后台 , 你的工程还是在运行的,给你段代码, 你可以试下,Intent nowIntent = new Intent();  
    nowIntent.setAction(Intent.ACTION_MAIN);
    nowIntent.addCategory(Intent.CATEGORY_HOME);   
    nowIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
    startActivity(nowIntent);
      

  10.   

    还有一种办法this.getApplictaion , 然后 结束你的application, 可以自己写一个application。
      

  11.   

    to: starssn
    谢谢,那就让他返回Home 是成功的,不过就像你说的那样,程序还在后台运行还有一种办法this.getApplictaion , 然后 结束你的application
    不知道如何来结束 application
      

  12.   

    算了,你就kill掉你正在运行的程序吧。android.os.Process.killProcess(android.os.Process.myPid());
      

  13.   


    试一下在  onDestroy()中调用
    protected void onDestroy() {
    super.onDestroy();
    ActivityManager am = (ActivityManager)getSystemService(ACTIVITY_SERVICE);
    am.killBackgroundProcesses("com.ccc.pad");
    }
      

  14.   

    在finish();之后调用 am.killBackgroundProcesses 是不起作用的
      

  15.   

    确定任务栈只有你当前的Activity 然后finish 再killprocess 必退出