我必须活动HomeActivity
,其活跃模型为singleTask
,另一个BActivity
。
这个过程可能是:
HomeActivity --> BActivity -->HomeActivity
从HomeActivity
来BActivity
时,我会提供一些额外的数据:
内部BActivity
:
@Override
public void onGoto(UpdateElement element) {
Intent intent = new Intent(this, HomeActivity.class);
intent.putExtra("x", element.longitude);
intent.putExtra("y", element.latitude);
intent.putExtra("z", element.level);
startActivity(intent);
}
我尝试处理这样的数据:
内部HomeActivity
:
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
if (intent != null) {
float xx = intent.getFloatExtra("x", 1000);
System.out.println("txx:getFloatExtra:" + xx);
if (intent.getExtras() != null) {
float x = intent.getExtras().getFloat("x", 2000);
System.out.println("txx:getExtras.getFloat:" + x);
}
}
}
我可以获得输出"新意图叫"通过logcat,但是我总是为x,y和z得到null。
日志:
6129-6129/com.I/System.out﹕ txx:getFloatExtra:1000.0
6129-6129/com.I/System.out﹕ txx:getExtras.getFloat:2000.0
发生了什么?