当前位置: 代码迷 >> Android >> android 退出应用步骤一:点击两次退出应用
  详细解决方案

android 退出应用步骤一:点击两次退出应用

热度:26   发布时间:2016-04-28 05:28:55.0
android 退出应用方法一:点击两次退出应用
(1)定义栈,写一个Exitactivity 类,利用单例模式管理Activity,在每个在
Activity 的onCreate()方法中调用Exitactivity.getInstance().addActivity(this)方法,在退
出时调用Exitactivity.getInstance().exit()方法,就可以完全退出应用程序了。

(2)Exitactivity

public class Exitactivity extends Application {			private List<Activity> activityList=new LinkedList<Activity>();	 private static Exitactivity instance;		 private Exitactivity()	 {	  }	 //单例模式中获取唯一的ExitApplication 实例	 public static Exitactivity getInstance()	 {	  if(null == instance)	   {	     instance = new Exitactivity();	   }      return instance;		 }	 //添加Activity 到容器中	 public void addActivity(Activity activity)	 {	 activityList.add(activity);	 }	 //遍历所有Activity 并finish		 public void exit()	 {		 for(Activity activity:activityList)	  {	    activity.finish();	  }		   System.exit(0);		 }	}

(3)其他的三个activity

      1)activitymian的实现       

package com.liuzuyi.exit;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.Toast;public class MainActivity extends Activity {	private Button next;	private Button exit;	 int i = 0;	protected void onCreate(Bundle savedInstanceState) {		super.onCreate(savedInstanceState);		setContentView(R.layout.activity_main);				next=(Button)findViewById(R.id.button2);		exit=(Button)findViewById(R.id.button1);			next.setOnClickListener(l);				exit.setOnClickListener(ll);		 Exitactivity.getInstance().addActivity(this);	  } 	OnClickListener l = new OnClickListener() {				public void onClick(View v) {			 Intent intent=new Intent(MainActivity.this,TwoActivity.class);			 startActivity(intent);				}	};	OnClickListener ll = new OnClickListener() {				@Override		public void onClick(View v) {			if( i == 0)			{			  Toast.makeText(MainActivity.this, "程序将在MainActivity退出,请再次点击", Toast.LENGTH_LONG).show();			  i =1;			}			else			{			  Exitactivity.getInstance().exit();				}		}	}; 		 	}	

      2)TwoActivity的实现  

package com.liuzuyi.exit;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.Toast;public class TwoActivity extends Activity {	private Button next;	private Button exit;	 int i = 0;	protected void onCreate(Bundle savedInstanceState) {		super.onCreate(savedInstanceState);		setContentView(R.layout.activity_two);		next=(Button)findViewById(R.id.button2);		exit=(Button)findViewById(R.id.button1);			next.setOnClickListener(l);				exit.setOnClickListener(ll);		 Exitactivity.getInstance().addActivity(this);				}OnClickListener l = new OnClickListener() {				public void onClick(View v) {			 Intent intent=new Intent(TwoActivity.this,ThreeActivity.class);			 startActivity(intent);				}	};	OnClickListener ll = new OnClickListener() {				@Override		public void onClick(View v) {			if( i == 0 )			 {				Toast.makeText(TwoActivity.this, "程序将在TwoActivity退出,请再次点击", Toast.LENGTH_LONG).show();			    i =1;			 }			else			Exitactivity.getInstance().exit();			}	}; }

     3)ThreeActivity的实现

package com.liuzuyi.exit;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.Toast;public class ThreeActivity extends Activity {	private Button next;	private Button exit;	int i =0;	protected void onCreate(Bundle savedInstanceState) {		super.onCreate(savedInstanceState);		setContentView(R.layout.activity_three);		next=(Button)findViewById(R.id.button2);		exit=(Button)findViewById(R.id.button1);		next.setOnClickListener(l);		exit.setOnClickListener(ll);		 Exitactivity.getInstance().addActivity(this);		}   OnClickListener l = new OnClickListener() {				public void onClick(View v) {			 Intent intent=new Intent(ThreeActivity.this,MainActivity.class);			 startActivity(intent);				}	};	OnClickListener ll = new OnClickListener() {				@Override		public void onClick(View v) {						if( i   == 0)			{			     i =1;				Toast.makeText(ThreeActivity.this, "程序将在ThreeActivity退出,请再次点击", Toast.LENGTH_LONG).show();			}			else			Exitactivity.getInstance().exit();				}	}; }


可以在这里下载源码:

http://download.csdn.net/detail/liuzuyi200/7399541


  相关解决方案