下面总结一下刚才自己遇到的问题。
android退出全部activity的方法有两种,但是在android2.2里面必须使用下面这个方法:
Intent startMain = new Intent(Intent.ACTION_MAIN);
startMain.addCategory(Intent.CATEGORY_HOME);
startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(startMain);
System.exit(0);
否则会有类似这样的异常:
07-13 01:12:07.046: ERROR/AndroidRuntime(874):
java.lang.RuntimeException: Unable to start activity ComponentInfo{lbaca.sns.ui/lbaca.sns.ui.FriendListActivity}: java.lang.NullPointerException
那么在android 2.2一下可以使用:
ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
am.restartPackage(getPackageName());
但是要在权限里面加上<uses-permission android:name="android.permission.RESTART_PACKAGES"></uses-permission>这个才行。
希望以上这两种退出方法能对遇到困难的朋友有所帮助。