私は、Webサービスのものを含むアプリケーションで作業しています。アンドロイドでインターネット速度を計算する
インターネットの速度が低いときの状態を知る必要があります。 Androidでインターネット速度のレベルを見つける方法
たとえば、携帯電話で2Mbpsの接続を使用していて、50Kbpsになると、トーストまたはアラートを送信してその状況に気づく必要があります。
ありがとうございました。
私は、Webサービスのものを含むアプリケーションで作業しています。アンドロイドでインターネット速度を計算する
インターネットの速度が低いときの状態を知る必要があります。 Androidでインターネット速度のレベルを見つける方法
たとえば、携帯電話で2Mbpsの接続を使用していて、50Kbpsになると、トーストまたはアラートを送信してその状況に気づく必要があります。
ありがとうございました。
あなたはWiFi
に接続している場合は、WifiManager
を使用して接続の速度を見つけることができます。
WifiInfo wifiInfo = wifiManger.getConnectionInfo();
、その後WifiInfo
からあなたが現在の速度を得ることができます:あなたがいる場合
int speedMbps = wifiInfo.getLinkSpeed();
を3G上では、標準的な方法が見つかっていないと思っています。おそらく、3Gが遅いと自動的に仮定することができます。
どうもありがとうございますが、まだ私はインターネットスピードだけでなく、3G、2Gでwifiで検索しています。 – Dhamodharan
この回答は間違っています。あなたのWiFiアダプタやルータではなく、ISPによって決定されているため、インターネットの速度を得ることはできません。 – mittelmania
ネットワークの速度を提供する 'アンドロイドライブラリ 'はありません。 'wifiInfo.getLinkSpeed'は時々刻々変化し続けるネットワークの最大速度を提供します。 –
これはこれは、無線LANに接続しながら、あなたのインターネットの速度を取得するためのコードである facebook sdk
ConnectionQuality cq = ConnectionClassManager.getInstance().getCurrentBandwidthQuality();
により、インターネット接続の速度を検出するspecilallyです。
WifiManager wifiManager = (WifiManager)
this.getSystemService(Context.WIFI_SERVICE);
List<ScanResult> wifiList = wifiManager.getScanResults();
for (ScanResult scanResult : wifiList) {
int level = WifiManager.calculateSignalLevel(scanResult.level, 5);
String net=String.valueOf(level);
// Toast.makeText(MainActivity.this,net,Toast.LENGTH_LONG).show();
}
// Level of current connection.here rssi is the value of internet speed whose value
// can be -50,-60 and some others,you can find the speed values easily on internet.
int rssi = wifiManager.getConnectionInfo().getRssi();
int level = WifiManager.calculateSignalLevel(rssi, 5);
String net=String.valueOf(rssi);
Toast.makeText(MainActivity.this,net,Toast.LENGTH_LONG).show();
// -100 is the minimum speed value of your internet.
if(rssi < -100) {
slowInternet=false;
}
これはhttp://stackoverflow.com/questions/4429605/how-to-get-link-speed-programmaticallyを助けるかもしれない – Calvin