使用意向共享后,片段未恢复其活动

dam*_*son 5 android intentfilter android-intent android-fragments android-activity

上下文:我有一个使用Activities和的应用程序Fragments.我暂停访问另一个像谷歌翻译.在GTranslate中,我使用共享Intent过程将文本数据发送到我的应用程序intent-filter ACTION_SEND.即使第一个应用程序处于后台,activity也会重新创建当前应用程序.

问题是,fragment相关的activity提到是不是重新创建太和更讨厌没有恢复(该onResume片段的方法不会被调用).

问题:为什么在intent通过应用程序使用时,fragments不遵循其父活动的生命周期并且至少不会恢复?有办法解决这个问题吗?

或者我完全错了?

小智 0

使用 Fragment Activity 而不是 Activity。

来自FragmentActiviy

将 onResume() 分派给片段。请注意,为了更好地与旧版本平台进行互操作,在此调用时,附加到活动的片段不会恢复。这意味着在某些情况下,之前的状态可能仍被保存,不允许片段事务修改状态。要与处于正确状态的片段正确交互,您应该重写 {@link #onResumeFragments()。

因此,在 FragmentActivity 中操作片段的正确位置是重写 onResumeFragments 方法,如下所示:

protected void onResumeFragments(){    
super.onResumeFragments();

        // YOUR STUFF IS HERE
}
Run Code Online (Sandbox Code Playgroud)