在接收onActivityResult之前,活动被销毁然后重新创建

时间:2011-07-04 12:40:26

标签: java android android-activity

我的活动有Handler个对象,并使用此处理程序注册ContentObserver。然后我启动外部活动,有时可能会改变内容(我使用内容观察者来捕捉这些改变)。 然后,活动返回结果,然后检查我的observer,如果内容自从我为结果启动该活动以来已更改。问题是,有时候,在onActivityResult之前,我的活动会获得onDestroy - onCreate,因此,观察者的所有catched都会丢失。

此活动在AndroidManifest中具有以下属性:

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

有人遇到过这个问题吗?为什么在获得结果之前可能会破坏活动? 是否有安全的地方放置我的观察者和处理者(如果活动不安全)?

1 个答案:

答案 0 :(得分:0)

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