首页 > 解决方案 > 通过使用域名 URL,服务器发送的事件在 android 中不起作用

问题描述

我正在使用来自 Ajax 的 URL “<a href="https://username:password@home.myopenhab.org/rest/events?topics=smarthome/" rel="noreferrer">https://username:password@ home.myopenhab.org/rest/events?topics=smarthome/" 使用 Cordova 从服务器获取客户端应用程序中的 SSE(服务器发送事件)。

注意:两个 URL(“<a href="https://username:password@home.myopenhab.org/rest/events?topics=smarthome/" rel="noreferrer">https://username:password@home. myopenhab.org/rest/events?topics=smarthome/" AND " http://192.168.0.1/rest/events?topics=smarthome/ ”),使用“cordova-crosswalk-plugin”可以正常工作,但我不想使用 crosswalk 插件,因为要求从 google play 下载一些依赖应用程序。

var eventSource = new EventSource(" +“url”+ /rest/events?topics=smarthome/*");   

eventSource.addEventListener(‘message’, function (eventPayload){

//not entering here.

}

标签: androidcordovawebviewcordova-pluginsopenhab

解决方案


我在这里找到了答案,我会在这里说:

原因是您的网址使用https

您可以尝试删除onReceivedSslError方法\cordova\platforms\android\CordovaLib\src\org\apache\cordova\ CordovaWebViewClient.java

然后加handler.proceed()


推荐阅读