android 2.2+ 完全退出程序的方法今天贡献了

 

import android.app.Activity;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.Bundle;
/**
* 
  * @author Mari
  * @version 创建时间:2011-3-1 上午09:43:38
  * MyAcitivty类说明:Acitivty的子类 基础该类的子类必须实现onCreate 方法
  * 在该类中注册了一个BroadcastReceiver 用于接收退出消息
  * 在接收到消息之后结束自身
*/
public abstract class MyAcitivty extends Activity {
        /**
         * 负责各个具体 Activity 的显示
         */
        public abstract void onCreate();

        @Override
        public void onCreate(final Bundle savedInstanceState) {
                // TODO Auto-generated method stub
                super.onCreate(savedInstanceState);
                onCreate();
                RegListener();
        }

        /**
         * 注册退出事件监听
         * 
         */
        public void RegListener() {
                ExitListenerReceiver exitre = new ExitListenerReceiver();
                IntentFilter intentfilter = new IntentFilter();
                intentfilter.addAction(this.getPackageName() + "."
                                + "ExitListenerReceiver");
                this.registerReceiver(exitre, intentfilter);
        }
        
        class ExitListenerReceiver extends BroadcastReceiver {

                @Override
                public void onReceive(Context arg0, Intent arg1) {

                        ((Activity) arg0).finish();

                }

        }

}

 在自己所有的activity中继承该类 到需要退出程序的时候发送广播Intent intent = new Intent(context.getPackageName()+".ExitListenerReceiver");
   
context.sendBroadcast(intent); 即可。
个人觉得该方法还有待完善就抛砖引玉了。希望有更好的方式。

你可能感兴趣的:(android,OS)