米娅的android之旅
android开发群群号:84926730

我也觉得新建一个类,每启动一个Activity就放入list,每关闭一个Activity就list里面删掉的做法太笨。

看到一个不错的方法,偷来之~(注:该文章为(男人应似海)原创

通过广播使Android程序完全退出:

在每个Activity创建时(onCreate时)给Activity注册一个广播接收器,当退出时发送该广播即可。大概的代码如下:

@Override

protected void onCreate(Bundle savedInstanceState) {

       super.onCreate(savedInstanceState);

       IntentFilter filter = new IntentFilter();

       filter.addAction("finish");

       registerReceiver(mFinishReceiver, filter);

       ……

}

private BroadcastReceiver mFinishReceiver = new BroadcastReceiver() {

    @Override

    public void onReceive(Context context, Intent intent) {

           if("finish".equals(intent.getAction())) {

              Log.e("#########", "I am " + getLocalClassName()

                     + ",now finishing myself...");

              finish();

       }

    }

};

在退出时执行以下代码即可关闭所有界面完全退出程序:

getApplicationContext().sendBroadcast(new Intent("finish"));

相信聪明的大家会把上面的代码写在一个基类里面,因为如果你的项目中Activity很多的话,写起来很麻烦,而且也不符合代码规范。(这句话很给力的有木有) 

 

posted on 2012-07-09 11:07  程序缘儿  阅读(2169)  评论(0编辑  收藏  举报