Android 1.5和1.6在调用finish活动和home按钮后出现奇怪的行为
安卓平台1.5Android 1.5和1.6在调用finish活动和home按钮后出现奇怪的行为,android,savestate,Android,Savestate,安卓平台1.5 我在调用finish()的末尾打开启动屏幕,然后转到浏览页面 在浏览页面,当我点击主页按钮时,它会隐藏应用程序。(安卓多任务功能的b/c) 当我再次进入Android的桌面启动应用程序时,它会从启动屏幕开始 安卓平台1.6 我在调用finish()的末尾打开启动屏幕,然后转到浏览页面 在浏览页面,当我点击主页按钮时,它会隐藏应用程序。(安卓多任务功能的b/c) 当我再次访问Android的桌面启动应用程序时,它总是从浏览屏幕而不是启动屏幕开始。为什么 我正在将所有数据放在
- 我在调用finish()的末尾打开启动屏幕,然后转到浏览页面
- 在浏览页面,当我点击主页按钮时,它会隐藏应用程序。(安卓多任务功能的b/c)
- 当我再次进入Android的桌面启动应用程序时,它会从启动屏幕开始
- 我在调用finish()的末尾打开启动屏幕,然后转到浏览页面
- 在浏览页面,当我点击主页按钮时,它会隐藏应用程序。(安卓多任务功能的b/c)
- 当我再次访问Android的桌面启动应用程序时,它总是从浏览屏幕而不是启动屏幕开始。为什么
@Override
protected void onSaveInstanceState(Bundle outState) {
outState.putString(WLConstants.READ_GPS, readGPS );
outState.putSerializable(WLConstants.SEARCH_CRITERIA, searchCriteria);
outState.putString(WLConstants.PARAM_WHERE, locationField.getText().toString());
outState.putBoolean(WLConstants.PARAM_NEAR_ME, rNearMe.isChecked());
super.onSaveInstanceState(outState);
Log.v(TAG, "onSaveInstanceState()");
}
我正在从oncreate方法中提取值
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if(savedInstanceState != null){
Log.v(TAG,"instace found");
}else{
Log.v(TAG,"instace not found");
}
}
“Instance found”never get Call意味着它永远不会返回bundle任何原因?我刚刚在1.5和1.6设备上的一个应用程序上尝试了这一点,该应用程序执行相同的操作-LAUNCHER活动是一个启动屏幕,然后启动“main”活动并在其自身上调用
finish()
。splash活动还设置了noHistory
属性
无论如何,在这两台设备上,按Home键后,主屏幕会按预期显示,然后再次显示launcher图标
然而,我认为Android并不能保证当你从启动器图标启动进程时,进程是否仍然有效。因此,您可以从任务堆栈停止的位置开始,也可以从启动程序活动开始
但是在你的情况下,根据我刚才的经验,当你点击发射器时,你通常会出现在“浏览”屏幕上。除非你的系统超负荷
无论如何,关于实例状态:您是否尝试过在方法中首先调用super.onSaveInstanceState(outState)
是否有任何区别
另外,请注意,此方法通常仅在系统终止活动时调用;不仅仅是当它进入背景时。在这种情况下,您不应该做任何事情。我只是在1.5和1.6设备上的一个应用程序中尝试了这一点,该应用程序执行相同的操作-LAUNCHER活动是一个启动屏幕,然后启动“main”活动并在其自身上调用
finish()
。splash活动还设置了noHistory
属性
无论如何,在这两台设备上,按Home键后,主屏幕会按预期显示,然后再次显示launcher图标
然而,我认为Android并不能保证当你从启动器图标启动进程时,进程是否仍然有效。因此,您可以从任务堆栈停止的位置开始,也可以从启动程序活动开始
但是在你的情况下,根据我刚才的经验,当你点击发射器时,你通常会出现在“浏览”屏幕上。除非你的系统超负荷
无论如何,关于实例状态:您是否尝试过在方法中首先调用super.onSaveInstanceState(outState)
是否有任何区别
另外,请注意,此方法通常仅在系统终止活动时调用;不仅仅是当它进入背景时。在这种情况下,您不应该做任何事情。有人刚刚发布了一个答案,说他们的堆栈历史记录有类似的问题,但只有在调试器下运行时:有人刚刚发布了一个答案,说他们的堆栈历史记录有类似的问题,但只有在调试器下运行时: