【问题标题】:How would I implement an OnClick Listener for a WebView Class我将如何为 WebView 类实现 OnClick 侦听器
【发布时间】:2020-10-30 02:30:45
【问题描述】:

我正在尝试为 WebView 中的一个类实现 OnClick 事件,该事件在触发 OnClick 时打开 androids 内部视频播放器。此外,它需要获取将要播放的视频并在 Android 视频播放器中播放。任何帮助表示赞赏,谢谢。

【问题讨论】:

    标签: java android android-studio onclicklistener android-videoview


    【解决方案1】:

    使用JavascriptInterface

    class MyActivity : AppCompatActivity() {
        @SuppressLint("SetJavaScriptEnabled")
        override fun onCreate(savedInstanceState: Bundle?) {
            //...
            webView.settings.javaScriptEnabled = true
            webView.addJavascriptInterface(MyJavascriptInterface(this), "Android")
        }
    
        class MyJavascriptInterface(private val context: Context) {
            @JavascriptInterface
            fun showVideoPlayer(url: String) {
                // TODO: show video player using url.
            }
        }
    }
    

    然后,在 javascript 端调用 JavascriptInterface 函数。

    <script>
        function showAndroidVideoPlayer(url) {
            Android.showVideoPlayer(url);
        }
    </script>
    
    <button onClick="showAndroidVideoPlayer('https://example.com')">Click me!</button>
    

    【讨论】:

    • 看起来不错,但我如何解释具有不同 URL 的视频?
    • @jono1234 我不明白account for a video that has a different URL? 是什么意思。能否补充更详细的解释和html、javascript代码?
    • 我的网站有一个内置的视频播放器,但是我想在使用 webview 的应用程序中覆盖它。使用的类(mat-button-wrapper)对于所有视频都是相同的。我想为该特定类设置一个 OnClick 侦听器,以便在单击它时将用户定向到 androids 内部视频播放器并播放本应在网站内部播放器上播放的视频。希望这可以清除一切
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多