WebView.pauseTimers遇到的问题使用

场景:APP中嵌入第三方的网页时,网页中有音视频,音视频播放,APP直接到后台,音视频不会暂停播放的问题

在Activity的onPause方法中用

webView.onPause();
webView.pauseTimers();

在onResume方法中用

webView.onResume();
webView.resumeTimers();

可以实现音视频的暂停以及重新播放

但是!!!!!!

webView.pauseTimers()

方法是暂停了APP中所有的webview响应

我们的项目不止一个地方使用了webview,这就导致了其他Activity打开网页的时候没有响应没有渲染,所以

在baseActivity中统一处理webview

获取webview时webView.onResume(); webView.resumeTimers()重新获取响应可以。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
webview.postMessage() 是一个在 WebView 中向 JavaScript 发送消息的方法。它允许你将数据从 Android(Java/Kotlin)代码发送到 WebView 中运行的 JavaScript。 要使用 webview.postMessage(),你需要遵循以下步骤: 1. 首先,在你的 WebView 中启用 JavaScript。这可以通过在你的 WebView 设置中启用 JavaScript 来实现: ```java webView.getSettings().setJavaScriptEnabled(true); ``` 2. 在你的 Android 代码中调用 webview.postMessage() 方法,将数据传递给 WebView 中运行的 JavaScript。这可以在任何时候发生,比如在按钮点击事件中: ```java String message = "Hello from Android!"; webView.loadUrl("javascript:window.postMessage('" + message + "', '*')"); ``` 在上面的代码中,'message' 是要发送的数据。其中 `loadUrl()` 方法加载了一个 JavaScript 代码,该代码使用 `window.postMessage()` 将消息发送给 WebView 中的 JavaScript。`'*'` 参数表示消息可以发送给任何来源。 3. 在你的 WebView 中,你需要添加一个事件监听器以接收来自 Android 的消息。这可以通过使用 JavaScript 来实现: ```javascript window.addEventListener("message", function(event) { var message = event.data; // 处理接收到的消息 }); ``` 在上面的代码中,我们添加了一个 "message" 事件监听器,在收到来自 Android 的消息时执行相应的 JavaScript 代码。`event.data` 包含从 Android 传递过来的消息。 这样,你就可以使用 webview.postMessage() 在 AndroidWebView 中进行双向通信了。请注意,为了安全起见,你应该在接收消息时进行适当的验证和处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

csdn_zxw

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值