使用广播退出多个activity

Posted 叉腰大眼仔

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用广播退出多个activity相关的知识,希望对你有一定的参考价值。

在需要关闭的activity中实现以下代码

public class AActivity extends Activity 
	protected BroadcastReceiver broadcastReceiver = new BroadcastReceiver() 
		@Override
		public void onReceive(Context context, Intent intent) 
			finish();
		
	;
	
	@Override
	public void onResume() 
		super.onResume();
		// 在当前的activity中注册广播
		IntentFilter filter = new IntentFilter();
		filter.addAction("ExitApp");
		this.registerReceiver(this.broadcastReceiver, filter);
	
	
	@Override
	protected void onDestroy() 
		// TODO Auto-generated method stub
		super.onDestroy();
		this.unregisterReceiver(this.broadcastReceiver);  
	


在退出程序的地方调用以下代码

	/**
	 * 捕获手机物理菜单键
	 */
	private long exitTime = 0;

	@Override
	public boolean onKeyDown(int keyCode, KeyEvent event) 
		if(keyCode == KeyEvent.KEYCODE_BACK)//&& event.getAction() == KeyEvent.ACTION_DOWN
		    if((System.currentTimeMillis()-exitTime) > 2000)
		        Toast.makeText(getApplicationContext(), "再按一次退出程序", Toast.LENGTH_SHORT).show();
		        exitTime = System.currentTimeMillis();
			 else 
				myExit();
			
		    return true;
	    
		return super.onKeyDown(keyCode, event);
	
	
	protected void myExit() 
		Intent intent = new Intent();
		intent.setAction("ExitApp");
		this.sendBroadcast(intent);
		super.finish();
	


以上是关于使用广播退出多个activity的主要内容,如果未能解决你的问题,请参考以下文章

安全退出调用多个Activity的Application

Service和Activity交互之广播方式

退出多个activity的方法

Android获取当前电量信息(BroadcastReceiver的使用)

Android获取当前电量信息(BroadcastReceiver的使用)

特殊广播如何实现后台监听