Отправленные сервером события не работают в Android с использованием URL-адреса доменного имени - PullRequest
0 голосов
/ 15 ноября 2018

Я использую этот URL из Ajax «https://username:password@home.myopenhab.org/rest/events?topics=smarthome/", чтобы получить SSE (события, отправленные сервером) в клиентском приложении с сервера, использующего Cordova.

  • Работает нормально на IOS, но егоне работает на Android
  • (я использую Android 7.0, последнюю версию Chrome, а также включил реализацию веб-просмотра в настройках разработчика).
  • для того же URL, если я даю IP вроде "http://192.168.0.1/rest/events?topics=smarthome/”, он отлично работает как на IOS, так и на Android.

Примечание: Оба URL (" 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.

}

1 Ответ

0 голосов
/ 02 декабря 2018

Я нашел ответ здесь , я скажу это здесь:

Причина использования вашего URL https

Вы можете попробовать удалить onReceivedSslError методв \cordova\platforms\android\CordovaLib\src\org\apache\cordova\ CordovaWebViewClient.java

затем добавьте handler.proceed()

...