保留播放媒体片段音乐

时间:2018-11-25 11:43:11

标签: android android-mediaplayer android-dialogfragment

我有一个BottomSheetDialogFragment用来播放录音。但是该片段是从头开始创建的,并在配置更改时销毁。

我试图找到仅在片段完全销毁时才调用的生命周期事件。但是任何配置更改(例如轮换更改)都会调用所有onDetach() onDestroy() onDestroyView()

我尝试过retainInstance,但仍在呼叫onDestroy()

我已经看到其他播放器像带有小对话框的Google Play音乐一样。是否因为他们使用活动而不是片段?更加独立的事物可能具有更大的力量,但它仍然是一项完整的活动,难以控制。

1 个答案:

答案 0 :(得分:0)

问题似乎出在库中,即使片段未被破坏,对话框也被关闭了。

override fun onDestroyView() {
    if (dialog != null && retainInstance) {
        dialog.setDismissMessage(null)
    }
    super.onDestroyView()
}

此代码已对其进行了修复,现在保留了该片段,并且不再调用onDestroy()