简体   繁体   English

Android WebView和WebSockets / Paho.MQTT

[英]Android WebView and WebSockets / Paho.MQTT

all similiar questions are already a few years ago so I might ask again: 所有类似的问题已经在几年前,所以我可能会再问:

I made a website which includes the Paho.MQTT javascript client (mqttws31.js). 我制作了一个包含Paho.MQTT javascript客户端(mqttws31.js)的网站。 It works fine on all browsers (also in Chrome on Android). 它在所有浏览器(也适用于Android的Chrome)上都可以正常运行。

Here's my code: 这是我的代码:

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

This part doesn't work in a native android app within a WebView . 这部分不适用于WebView中的本机android应用程序。

Are WebSockets not supported in general or is it a Paho.MQTT problem? 通常不支持WebSocket还是Paho.MQTT问题? Is there a fast and easy work-around? 是否有快速简便的解决方法? Some parts of my website are using SignalR - which works fine in a WebView... 我网站的某些部分正在使用SignalR-在WebView中可以正常使用...

Thanks! 谢谢!

figured it out.... 弄清楚了....

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

did not work because local storage is disabled by default. 无法使用,因为默认情况下禁用了本地存储。

Enabling it in my Android WebView solved the issue. 在我的Android WebView中启用它可以解决此问题。 _mWebView.getSettings().setDomStorageEnabled(true);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM