foursquare -5 BroadcastReceiver 退出程序

 http://alex-yang-xiansoftware-com.iteye.com/blog/1099207

 

  • 还有一种就是使用方法是使用Android的Broadcast机制。在所有的Activity中注册退出程序的消息,当收到消息时调用finish方法。  然后再有退出程序功能的Activity上广播关闭消息。代码如下:

     

    package com.kingtone.activity;   
      
    import android.app.Activity;   
    import android.content.BroadcastReceiver;   
    import android.content.Context;   
    import android.content.Intent;   
    import android.content.IntentFilter;   
    /**  
     * 所有Activity的父类,用来注册退出程序的广播事件,  
     * 并且对收到的退出程序事件进行处理  
     * @author Administrator  
     *  
     */  
    public class CommonActivity  extends Activity {   
           
        //广播的内部类,当收到关闭事件时,调用finish方法结束activity   
        private 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(GlobalVarable.EXIT_ACTION);   
            this.registerReceiver(this.broadcastReceiver, filter);   
        }   
    }  
    
        @Override
        public void onDestroy() {
            super.onDestroy();
            unregisterReceiver(mLoggedOutReceiver);
        }
    
        @Override
        public void onResume() {
            super.onResume();
              }
    
        @Override
        public void onPause() {
            super.onPause();
        }

    1. Intent intent = new Intent();   
    2. intent.setAction(GlobalVarable.EXIT_ACTION); // 退出动作   
    3. this.sendBroadcast(intent);// 发送广播   
    4. super.finish();   
    5. //退出后台线程,以及销毁静态变量   
    6. System.exit(0);  

  • 你可能感兴趣的:(android,filter,Class,action,import)