#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 / … работает нормально. Похоже, что, вероятно, ошибка в последней версии.