Приложение Phonegap (онлайн-сборка) – нет подключения к Интернету и сетевого статуса

Мое первое мобильное приложение jquery содержит элементы, которые нуждаются в данных из интернет-источников, таких как общедоступные календари Google и виджеты партнеров Amazon, но он работает только при тестировании в моем браузере Chrome или на устройстве Kindle Fire с помощью тестера приложений html5. Если я создам Android-версию Android с помощью онлайн-телефонии, Kindle и другие устройства Android, такие как Lenovo mobile, не смогут подключиться к Интернету в приложении. Я прочитал все темы этой проблемы и нашел, что было предложено использовать <access origin="*" subdomains="true" /> в файле config.xml, но это было неэффективно. Я также добавляю фрагменты кода в приложении, например:

  if (navigator.onLine) { $("#ifonline").append("Online"); } else { $("#ifonline").append("offline"); } var isOffline = 'onLine' in navigator && !navigator.onLine; if ( isOffline ) { $("#ifonline2").append("Status: offline"); } else { $("#ifonline2").append("online"); } 

Но результат ничего. Мой config.xml:

 <?xml version="1.0" encoding="UTF-8" ?> <widget xmlns = "http://www.w3.org/ns/widgets" xmlns:gap = "http://phonegap.com/ns/1.0" id = "com.myapp.myapptodo" versionCode = "10" version = "1.0.0" > <name>myapp</name> <description> myapp is very good but can't find that &@ĐäĐ wifi! </description> <author href="https://mysite" email="mymail"> Ceatos </author> <gap:plugin name="org.apache.cordova.network-information" /> <feature name="http://api.phonegap.com/1.0/geolocation"/> <feature name="http://api.phonegap.com/1.0/media"/> <feature name="http://api.phonegap.com/1.0/network"/> <feature name="http://api.phonegap.com/1.0/notification"/> <feature name="InAppBrowser"> <param name="android-package" value="org.apache.cordova.InAppBrowser"/> </feature> <feature name="NetworkStatus"> <param name="android-package" value="org.apache.cordova.networkinformation.NetworkManager" /> </feature> <access origin="*" subdomains="true" /> 

У меня рабочая сеть Wi-Fi, и к ней подключены устройства. Что мне делать?

Добавить плагин с белым списком

 <gap:plugin name="cordova-plugin-whitelist" source="npm" /> 

Возможно, вам придется добавить этот метатег на голову

 <meta http-equiv="Content-Security-Policy" content="default-src *; style-src * 'unsafe-inline'; script-src * 'unsafe-inline'; media-src *"> 

И добавьте две строки в файл config.xml

 <allow-navigation href="http://*/*" /> <allow-intent href="https://*/*" /> 

Для проверки подключения к Интернету я использую эту функцию:

 function checkConnection(){ var networkState = navigator.connection.type; if(Connection.NONE==networkState) return "<p>No connection</p>"; } 

Для того чтобы вы могли использовать его, вам нужно добавить плагин сетевого состояния следующим образом:

 cordova plugin add cordova-plugin-network-information 

Ваш файл AndoidManifest должен содержать две строки:

 <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
Intereting Posts
Android: Как получить идентификатор выбранного элемента из Spinner Как добавить физическое Android-устройство в Visual Studio 2015 Preview Как выполнить простую задачу async с помощью андроида Что эквивалентно «colspan» в Android TableLayout? Как я могу отправить уведомление Firebase Cloud Messaging без использования Firebase Console? Android Studio 2.3 Подпись Step Verification v1 (Jar Signature), v2 (Полная подпись Apk) Отключено API возврата облачного слова API = UNAUTHENTICATED, причина = java.io.IOException: ошибка получения маркера доступа для учетной записи службы: Как удалить базу данных в приложении Android Call finish () из Activity Как принудительно обновлять информацию о конфигурации? Запустить приложение камеры по умолчанию (без возврата) Получить имя учетной записи / электронную почту от Google Диска Android API КоординаторLayout с панелью инструментов и фрагментом Как получить выбранный индекс RadioGroup в Android Symfony2 basic http auth, работает с curl, но не на Android