首页 > 移动平台 > 详细

Android使用广播退出应用

时间:2014-04-10 02:38:50      阅读:498      评论:0      收藏:0      [点我收藏+]

应用开发时需要处理安全退出应用,之前研究过Foursquare的代码,发现它用的是广播机制来处理退出应用。


public class BaseActivity extends Activity
{
    private static final String TAG = BaseActivity.class.getSimpleName();
    
    public static final String INTENT_ACTION_LOGGED_OUT = "INTENT_ACTION_LOGGED_OUT";
    
    private BroadcastReceiver mLoggedOutReceiver = new BroadcastReceiver()
    {
        @Override
        public void onReceive(Context context, Intent intent)
        {
            Log.d(TAG, "onReceive: " + intent);
            finish();
        }
    };
    
    @Override
    protected void onCreate(Bundle arg0)
    {
        
        super.onCreate(arg0);
        registerReceiver(mLoggedOutReceiver, new IntentFilter(
                INTENT_ACTION_LOGGED_OUT));
    }
    
    @Override
    protected void onPause()
    {
        
        super.onPause();
        if (isFinishing())
        {
            unregisterReceiver(mLoggedOutReceiver);
        }
    }
    
}

让每个Activity继承BaseActivity, 当推出应用的时候,发送一条广播,应用就能安全的退出。


网上有另外一种退出方法:在Application中用List<Activity>记录打开的Activity的context,在退出的时候,遍历List<Activity>,依次fiinish activity,这种方法的问题是会一直持有改Activity的context, 使之不能及时释放资源,如果跳转的页面很多的话容易照成OOM

Android使用广播退出应用,布布扣,bubuko.com

Android使用广播退出应用

原文:http://blog.csdn.net/longwuxu/article/details/23279217

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!