Android WebView 和 WebSockets / Paho.MQTT

Posted

技术标签:

【中文标题】Android WebView 和 WebSockets / Paho.MQTT【英文标题】:Android WebView and WebSockets / Paho.MQTT 【发布时间】:2015-09-10 16:11:57 【问题描述】:

所有类似的问题都已经是几年前的问题了,所以我可能会再问一遍:

我创建了一个包含 Paho.MQTT javascript 客户端 (mqttws31.js) 的网站。 它适用于所有浏览器(也适用于 android 上的 Chrome)。

这是我的代码:

var client = new Paho.MQTT.Client("ws://iot.eclipse.org/ws", "myClientId" + new Date().getTime());

这部分不适用于WebView 内的原生 android 应用程序。

一般不支持 WebSockets 还是 Paho.MQTT 问题?有没有快速简便的解决方法? 我网站的某些部分正在使用 SignalR - 在 WebView 中运行良好...

谢谢!

【问题讨论】:

【参考方案1】:

想通了……

var client = new Paho.MQTT.Client("ws://iot.eclipse.org/ws", "myClientId");

没有工作,因为默认情况下本地存储被禁用。

在我的 Android WebView 中启用它解决了这个问题。 _mWebView.getSettings().setDomStorageEnabled(true);

【讨论】:

以上是关于Android WebView 和 WebSockets / Paho.MQTT的主要内容,如果未能解决你的问题,请参考以下文章

android webview-android的webview怎么修改网页字体颜色和背景

Android 下的 WebView 中数据如何保存

Android webview加载的页面怎样调试JS

Android--WebView控件

Android Webview 和Javascript交互,实现Android和JavaScript相互调用

JS和Android交互