2011-07-04 43 views
1

我的活动有Handler对象,并注册ContentObserver与此处理程序。然后我启动外部活动,有时可能会更改内容(我使用内容观察员来捕捉此更改)。 然后活动返回结果,然后检查我的observer,如果内容在我开始执行结果活动后发生了变化。问题是,有一次,在onActivityResult之前,我的活动得到了onDestroy - onCreate,结果,来自观察者的所有I catched都丢失了。活动被破坏,然后重新创建之前接收onActivityResult

这项活动已经在AndroidManifest以下属性:

android:clearTaskOnLaunch="true" 
android:launchMode="singleTop" 

有没有人遇到这个问题?为什么活动可能在获得结果之前被破坏? 是否有安全的地方把我的观察员和处理程序(如果活动不安全)?

+1

嗯,你是否正在旋转另一个活动中的手机?方向更改销毁/重新创建活动。 – dmon

+0

是的,问题与方向有关。谢谢! – Arseniy

回答

0

尝试更改启动模式。当我使用外部活动获得结果并设置结果时,结果代码始终取消,当我使用singleTop作为启动模式时。将它改为IE标准就像魅力一样。也许值得尝试一下。

相关问题