`
mmdev
  • 浏览: 12847017 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

Android之退出整个应用方法之二

 
阅读更多

前面跟大家分享了通过建立Activity堆栈列表,把所有Activity通过继承基类或调用函数的方式记录下来,退出时逐一finish;今天再跟大家分享一下通过使用广播机制退出整个应用,我们首先自定义一个抽象的MyActivity继承系统的Activity,然后在这个自定义的MyActivity中添加退出的方法,然后在整个应用中的所有Activity都继承我们自定义的MyActivity,当我们需要完全退出的时候,就可以调用这个close()方法,实现完全退出,个人感觉比之前的那个方法更实用,更方便,

好了,废话不多说,直接分享核心代码:

public abstract class MyActivity extends Activity {

	// 写一个广播的内部类,当收到动作时,结束activity
	private BroadcastReceiver broadcastReceiver = new BroadcastReceiver() {
		@Override
		public void onReceive(Context context, Intent intent) {
			close();
		}
	};
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
			// 在onCreate中注册广播
		IntentFilter filter = new IntentFilter();
		filter.addAction(Attribute.PAGENAME);
		registerReceiver(this.broadcastReceiver, filter); // 注册
	}

	/**
	 * 关闭
	 */
	public void close() {
		Intent intent = new Intent();
		intent.setAction(Attribute.PAGENAME); // 说明动作
		sendBroadcast(intent);// 该函数用于发送广播
		finish();
	}
	@Override
	protected void onDestroy() {
		super.onDestroy();
		unregisterReceiver(broadcastReceiver);// 在onDestroy注销广播。
	}
}




分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics