先看一下生命周期:
onPause
onStop 状态的话
再发送Intent的话,执行顺序为:
onNewIntent
onRestart
onStart
onResume
但是有一个坑特别奇怪,onNewIntent(Intent intent)中通过getIntent获取到的值是上一个的intent,onNewIntent参数里面的intent才是当前的intent
测试代码如下:
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
if(intent!=null){
type = getIntent().getIntExtra(Constants.TOWITCHOFHOME, Constants.TOWITCHOFHOME_DEFAULT);
Log.e(TAG,"getIntent获取到的上一个intent传值,type="+type);
}else{
type = intent.getIntExtra(Constants.TOWITCHOFHOME, Constants.TOWITCHOFHOME_DEFAULT);
Log.e(TAG,"onNewIntent 获取到的当前intent传值,type="+type);
}
}