私はアプリケーションを作っていて、インターネット速度を取得する必要があります!WifiInfo
clasdで無線LAN速度を見つけることができますが、モバイルデータの速度を得るためのコードやライブラリは見つかりませんでした!
ライブラリを使用する必要がありますか、Androidにクラスがありますか?インターネット速度を取得する(WIFI&データ)
0
A
答えて
1
正確モバイル速度を決定するのは難しいですが、接続タイプ(EDGE、HSPA)に基づいて速度を推定することができます:ここ
ConnectionQuality cq = ConnectionClassManager.getInstance().getCurrentBandwidthQuality();
はgithubのレポです
public static boolean isConnectedFast(final Context context) {
final NetworkInfo info = getNetworkInfo(context);
return (info != null) && info.isConnected() && isConnectionFast(info.getType(), info.getSubtype());
}
public static boolean isConnectionFast(final int type, final int subType) {
if (type == ConnectivityManager.TYPE_WIFI) {
return true;
} else if (type == ConnectivityManager.TYPE_MOBILE) {
switch (subType) {
case TelephonyManager.NETWORK_TYPE_1xRTT:
return false; // ~ 50-100 kbps
case TelephonyManager.NETWORK_TYPE_CDMA:
return false; // ~ 14-64 kbps
case TelephonyManager.NETWORK_TYPE_EDGE:
return false; // ~ 50-100 kbps
case TelephonyManager.NETWORK_TYPE_EVDO_0:
return true; // ~ 400-1000 kbps
case TelephonyManager.NETWORK_TYPE_EVDO_A:
return true; // ~ 600-1400 kbps
case TelephonyManager.NETWORK_TYPE_GPRS:
return false; // ~ 100 kbps
case TelephonyManager.NETWORK_TYPE_HSDPA:
return true; // ~ 2-14 Mbps
case TelephonyManager.NETWORK_TYPE_HSPA:
return true; // ~ 700-1700 kbps
case TelephonyManager.NETWORK_TYPE_HSUPA:
return true; // ~ 1-23 Mbps
case TelephonyManager.NETWORK_TYPE_UMTS:
return true; // ~ 400-7000 kbps
/*
* Above API level 7, make sure to set android:targetSdkVersion
* to appropriate level to use these
*/
case TelephonyManager.NETWORK_TYPE_EHRPD: // API level 11
return true; // ~ 1-2 Mbps
case TelephonyManager.NETWORK_TYPE_EVDO_B: // API level 9
return true; // ~ 5 Mbps
case TelephonyManager.NETWORK_TYPE_HSPAP: // API level 13
return true; // ~ 10-20 Mbps
case TelephonyManager.NETWORK_TYPE_IDEN: // API level 8
return false; // ~25 kbps
case TelephonyManager.NETWORK_TYPE_LTE: // API level 11
return true; // ~ 10+ Mbps
// Unknown
case TelephonyManager.NETWORK_TYPE_UNKNOWN:
default:
return false;
}
} else {
return false;
}
}
フルコードについては、https://stackoverflow.com/a/8548926/6908755を参照してください。
0
はこれを提供一切のAndroidのlibやクラスがありません
WifiManager wifiManager = (WifiManager)context.getSystemService(Context.WIFI_SERVICE);
int linkSpeed = wifiManager.getConnectionInfo().getRssi();
0
このコードを使用します。 wifiInfo.getLinkSpeedは、ネットワークの最大速度を返し、時々刻々と変化します。
私はFB SDKでインターネットの速度を得るために何かを見つけましたが、 https://github.com/facebook/network-connection-class
関連する問題
- 1. Javaでインターネット速度とCPU温度を取得する方法
- 2. wifi/3gのダウンロード速度とアップロード速度をテストするには?
- 3. アンドロイドでインターネット速度を計算する
- 4. ローカルファイルのインターネット速度を遅くする
- 5. インターネットからデータを取得するandroid
- 6. インターネットからデータを取得する
- 7. Cordovaでネットワーク精度(Cellular + WiFi)を取得
- 8. rssiの変更を取得するためのWiFiのスキャン速度が速くなりました
- 9. IOSの加速度計データを取得するには?
- 10. 離散加速度計データからの距離と速度の取得
- 11. Socket.ioデータ消失時にインターネットの速度低下
- 12. Androidでインターネットからデータを取得
- 13. AndroidのWiFi信号強度を取得する
- 14. Javaを使用してCPU速度/メモリ/インターネット速度を検出しますか?
- 15. 加速度計のデータを取得してMacに送信
- 16. PHPでファイルのダウンロード速度(転送速度)を取得するには?
- 17. Javaプログラムを使ってインターネット速度を分析する
- 18. WiFiのスキャン速度を向上させる
- 19. Javascript - インターネット速度/帯域幅を検出する
- 20. iosでプログラム的にWi-Fiまたは3Gインターネット速度を取得する方法
- 21. Android:加速度計とジャイロスコープから同時にデータを取得する
- 22. iPad/iPhone MAC/Wifiアドレスを取得する
- 23. 私のWiFiアドレスを取得するAndroid
- 24. Wifiアドレス問題を取得する
- 25. 角度でAPIデータを取得する
- 26. ユーザーに警告するインターネット速度が遅い場合
- 27. AndroidのWifiインターフェイスの速度リミッタをダウンロードしてください。
- 28. ユーザーが歩いている速度を取得する方法
- 29. アンドロイドエミュレータでインターネット接続を取得する
- 30. アンドロイド加速度計からの傾斜角度を取得