Sky*_*sey 9 android android-intent
我想发送一个Intent来启动一个Activity.我希望能够修改那个Intent.然后,当活动被销毁并重新创建时,我希望在我打电话时这些修改仍然存在getIntent().
目前,只要Activity没有被销毁,修改意图就可以正常工作.如果有,则在重新创建活动时,它将获得启动它的原始Intent,而不是在第一次可能已修改时启动它时收到的副本.
Com*_*are 12
只要主Activity仍然存在,修改Intent以删除我的额外数据就可以正常工作,但是如果它被销毁/重新创建,那么额外的数据就会恢复.
那是因为您正在修改本地副本,而Intent不是在OS进程中维护的主副本,其中保留了任务列表.
如果这个数据是活动的真正实例状态,那么它应该保存,通过onSaveInstanceState(),并且你可以通过它获得onRestoreInstanceState().您图书馆的用户需要将这些事件转发给您.
如果您不希望将此视为实例状态,而是处理状态,请将数据存储在单例中.
如果数据应该超出进程的生命周期,请将其写入磁盘某处.
我可以将数据保存在主机应用程序的广播接收器中,然后在我的代码中使用和删除它
如果通过"将数据保存在主机应用程序的广播接收器中",那就没有意义了.清单注册的接收器仅用于单个广播,然后完成.
| 归档时间: |
|
| 查看次数: |
2826 次 |
| 最近记录: |