当webview打开时,通知正在关闭

问题描述 投票:0回答:1

我的应用活动少,碎片化。其中一个活动是广播播放器。用户可以使用一个媒体通知(和一个服务)来控制播放器。它工作得很好。但后来我在无线电活动中添加了一个带有webview的片段(网站 "chatovod")。当我打开这个片段(webview)时,我看到我的媒体通知正在关闭(但不是服务 - 音乐仍在播放)。顺便说一下,其他通知(从图像活动)仍然显示。

class ChatovodFragment: Fragment() {

private lateinit var webView: WebView

companion object {
    fun newInstance(url: String): ChatovodFragment {
        val fragment = ChatovodFragment()
        val bundle = Bundle()
        bundle.putString(BUNDLE_CHATOVOD_URL, url)
        fragment.arguments = bundle
        return fragment
    }
}

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    activity?.onBackPressedDispatcher?.addCallback(this, object : OnBackPressedCallback(true) {
        override fun handleOnBackPressed() {
            if (webView.canGoBack()) {
                webView.goBack()
            } else {
                activity?.supportFragmentManager?.popBackStack()
            }
        }
    })
}

@SuppressLint("SetJavaScriptEnabled")
override fun onCreateView(
    inflater: LayoutInflater,
    container: ViewGroup?,
    savedInstanceState: Bundle?
): View? {
    val view = inflater.inflate(R.layout.fragment_chatovod, container, false)
    val url: String =
        if (arguments != null) {
            requireArguments().getString(BUNDLE_CHATOVOD_URL, "")
        } else
            ""
    webView = view.findViewById(R.id.webView)
    webView.settings.javaScriptEnabled = true
    webView.loadUrl(url)
    webView.webViewClient = MyWebViewClient()
    return view
}

class MyWebViewClient: WebViewClient() {
    override fun shouldOverrideUrlLoading(
        view: WebView?,
        request: WebResourceRequest?
    ): Boolean {
        view?.loadUrl(request?.url.toString())
        return true
    }
}

服务代码是很大的,所以如果你需要,我可以加载它。所以如果你需要它,我可以把它加载到其他地方。

android android-fragments android-webview android-notifications
1个回答
0
投票

对不起,我的英语水平不高,但我希望你能理解我想回答的问题。

这个问题在我的应用程序中发生了不止一个地方。

在我的应用程序中,它是音频焦点使其。

编码。

systemService.abandonAudioFocus(new AudioManager.OnAudioFocusChangeListener() {
        @Override
        public void onAudioFocusChange(int focusChange) {

        }
    });

或其他覆盖方法与它。

在它做一些事情。

希望对你有帮助的人。

© www.soinside.com 2019 - 2024. All rights reserved.