#android #cordova #phonegap-plugins #cordova-plugins
#Android #кордова #phonegap-плагины #cordova-плагины
Вопрос:
Я работаю над приложением phonegap. Я хочу синхронизировать данные с приложением с сервера, но для этого требуется хорошая сила соединения.Итак, мне нужно выяснить силу соединения соединения.
В Интернете есть много документации для поиска типа соединения с использованием phonegap, но я не могу найти никакой помощи относительно силы соединения
Есть ли какой-нибудь способ определить силу соединения в phonegap, я не хочу использовать какой-либо собственный код платформы, потому что он будет работать на многих платформах, так есть ли какой-нибудь способ узнать силу соединения (2g, 3g, 4g, wifi и т. Д.) В phonegap????
Комментарии:
1. эй, вы просите получить силу сети, а не статус, верно? Я имею в виду, что вы не просите определять тип соединения, потому что он уже доступен в документе Phonegap API.
2. @gokhanakkurt Да, мне нужно получить силу соединения, если это хорошо, тогда я выполню какую-нибудь сетевую операцию, в противном случае отображается сообщение об ошибке медленного соединения.
3. Phonegap API не предоставляет никаких плагинов для этой цели. Вы должны написать свой собственный плагин, который взаимодействует с кодом JavaScript.
Ответ №1:
Также нет стандартного способа узнать силу соединения android
, поэтому я просто использую javascript
код для определения скорости интернет-соединения, Нет проблем с какой-либо платформой android
ios
или windows phone 8
т. Д., Нет Необходимости разрабатывать отдельный плагин для каждой платформы.
Просто используйте следующее scripts
:
var downloadSize = 244736;
var imageAddr = "http://farm6.static.flickr.com/5035/5802797131_a729dac808_b.jpg" "?n=" Math.random();
var startTime, endTime = 0;
var download = new Image();
download.onload = function () {
endTime = ( new Date() ).getTime();
showResults( startTime, endTime, imageAddr, downloadSize );
};
startTime = ( new Date() ).getTime();
download.src = imageAddr;
function isConnected() {
var xhr = new XMLHttpRequest();
var file = "http://api.androidhive.info/music/images/adele.png";
var r = Math.round( Math.random() * 10000 );
xhr.open( 'HEAD', file "?subins=" r, false );
try {
xhr.send();
if ( xhr.status >= 200 amp;amp; xhr.status < 304 ) {
return true;
} else {
return false;
}
} catch ( e ) {
return false;
}
};
function showResults( startTime, endTime, imageAddr, downloadSize ) {
if ( isConnected() ) {
var duration = ( endTime - startTime ) / 1000; //Math.round()
var bitsLoaded = downloadSize * 8;
var speedBps = Number( ( bitsLoaded / duration ).toFixed( 2 ) );
var speedKbps = Number( ( speedBps / 1024 ).toFixed( 2 ) );
var finalSpeed = ( speedKbps / 10 );
if ( finalSpeed < 40 ) {
// Slow Internet
} else if ( finalSpeed >= 40 amp;amp; finalSpeed < 80 ) {
// Avg Internet
} else if ( finalSpeed >= 80 ) {
// Fast Internet
}
} else {
//No intenet
}
}
Ответ №2:
Пока я знаю, что вам нужно написать пользовательский плагин и работать с машинным кодом. До сих пор не существует прямого способа получить уровень сигнала в phonegap.