-
-5 25
-
在android中可以通过这几个方式来退出,1.Activity自带的finish方法来退出 2.System.exit()来退出 3.Activity Stack来退出 实例程序在我的svn上。
package net.mzzo;
import java.util.Stack;
import android.app.Activity;
import android.app.ActivityManager;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;public class AppMain extends Activity {
private ActivityManager am = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//Activity专用的推退出
finish();
//系统级别的退出 其中传递的状态码 表示退出的级别
System.exit(0);
//通过结束进程
android.os.Process.killProcess(android.os.Process.myPid());
//通过Activity自带的ActivityService来结束应用程序 系统会将,该包下的 ,所有进程,服务,全部杀掉,就可以杀干净了
am = (ActivityManager)getSystemService (Context.ACTIVITY_SERVICE);
am.restartPackage(getPackageName());
}
private static class ActivityManager {private static Stack<Activity> activityStack;
private static ActivityManager instance;
private ActivityManager(){
}
public static ActivityManager getScreenManager(){
if(instance == null){
instance=new ActivityManager();
}
return instance;
}//退出栈顶Activity
public void popActivity(Activity activity){
activity.finish();
activityStack.remove(activity);
activity = null;
}
//获得当前栈顶Activity
public Activity currentActivity(){
Activity activity=(Activity) activityStack.lastElement();
return activity;
}
//将当前Activity推入栈中
public void pushActivity(Activity activity){
activityStack=new Stack<Activity>();
activityStack.add(activity);
}//退出栈中所有Activity
public void popAllActivity(){
activityStack.clear();
}
}
}仓库地址 http://www.spridu.cn:1008/svn/android/ 用户名 guest
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。
- 评论(1)
发表评论 TrackBack