Приложение перестает работать в автономном режиме после установки плагина cordova.network-information (даже когда приложение ничего не делает)

#android #cordova #phonegap-plugins

#Android #кордова #phonegap-плагины

Вопрос:

Мне нужно было проверить подключение к моему приложению phonegap для Android, поэтому я загрузил последнюю версию плагина cordova network information отсюда: https://github.com/apache/cordova-plugin-network-information/blob/master/doc/index.md .

Приведенный ниже пример кода на самом деле работает по назначению, если есть какое-то сетевое подключение, но как только телефон отключается, приложение просто предупреждает: «к сожалению, остановлено. Сумасшедшая вещь, это происходит даже для простого приложения Hello World (тот, который только проверяет, готово ли устройство). В основном приложение работает нормально перед добавлением плагина. Но после запуска плагина cordova добавьте org.apache.cordova.network-information и перестройте, он выдает то же предупреждение, когда телефон отключен. И это без изменения какого-либо кода.

 function checkConnection() {
var networkState = navigator.connection.type;
var states = {};
states[Connection.UNKNOWN]  = 'Unknown connection';
states[Connection.ETHERNET] = 'Ethernet connection';
states[Connection.WIFI]     = 'WiFi connection';
states[Connection.CELL_2G]  = 'Cell 2G connection';
states[Connection.CELL_3G]  = 'Cell 3G connection';
states[Connection.CELL_4G]  = 'Cell 4G connection';
states[Connection.CELL]     = 'Cell generic connection';
states[Connection.NONE]     = 'No network connection';

alert('Connection type: '   states[networkState]); 
}
checkConnection();
 

Ответ №1:

Недд больше информации, например, какую версию phonegap вы используете. Между тем, если вам требуется проверять только автономный и онлайн-регистр, вы можете просто использовать:

 function checkConnection() { if(navigator.network.connection.type == Connection.NONE){
//no connection
}else{
//You are connected.
}
 

Я предполагаю, что вы включили версию Android для cordova.js в вашей html-странице.

Комментарии:

1. я использую последнюю версию и загружаю плагин отсюда: github.com/apache/cordova-plugin-network-information/blob /. … Проблема в том, что приложение буквально даже не открывается, если нет сетевого подключения. Поэтому, если я открою новый каталог, выполните следующие действия: cordova create hello com.example.hello HelloWorld cd hello cordova platform добавить сборку android cordova. Затем, если я добавлю плагин и запущу приложение на своем Android после отключения от сети, приложение просто скажет, что, к сожалению, оно остановилось. И это приложение даже не использует плагин.

2. вы можете видеть logcat?? пожалуйста, посмотрите, есть ли какие-либо ошибки.

3. Спасибо за помощь, я рассмотрю это, но пока версия по этой ссылке docs.phonegap.com/en/3.0.0 / … работает нормально. Похоже, что, вероятно, ошибка в последней версии.