Bundle SavedInstanceState保存状态

当按到home键,退出了程序界面,或者回收了应用的进程,这种情况下使用Bundle SavedInstanceState 就可以再次打开应用的时候恢复到原来的状态


//定义
 public static final String BUNDLE_KEY_IS_PLAY_BEEP = "mainActivityIsPlayBeep";
 private boolean mIsPlayBeep =false;

当Activity 变得容易被销毁时,Activity的onSaveInstanceState 就会被执行

除非是 用户自己按了back按键

保存的参数 putBoolean(key , value);

    @Override
    protected void onSaveInstanceState(Bundle outState)
    {
        outState.putBoolean(BUNDLE_KEY_IS_PLAY_BEEP, mIsPlayBeep);
        super.onSaveInstanceState(outState);
    }

onCreat 的时候 恢复状态

从savedInStanceState.getBoolean(key ,value)中取出销毁时候存储的数据

当savedInstanceState 为空时,通过getIntent.getBooleanExtra(key ,value) 设置初始的值

    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mApplication = FG8KWApplication.getInstance();

        if (savedInstanceState != null) {
            mIsPlayBeep = savedInstanceState.getBoolean(BUNDLE_KEY_IS_PLAY_BEEP, false);
        }
        else {
            mIsPlayBeep = getIntent().getBooleanExtra(BUNDLE_KEY_IS_PLAY_BEEP, false);
        }
}


转自:http://blog.csdn.net/chuyouyinghe/article/details/46795091

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值