私はアプリケーションを作っていて、インターネット速度を取得する必要があります!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. wifi/3gのダウンロード速度とアップロード速度をテストするには?
- 2. アンドロイドでインターネット速度を計算する
- 3. ローカルファイルのインターネット速度を遅くする
- 4. インターネットからデータを取得するandroid
- 5. インターネットからデータを取得する
- 6. rssiの変更を取得するためのWiFiのスキャン速度が速くなりました
- 7. IOSの加速度計データを取得するには?
- 8. 離散加速度計データからの距離と速度の取得
- 9. Socket.ioデータ消失時にインターネットの速度低下
- 10. Androidでインターネットからデータを取得
- 11. AndroidのWiFi信号強度を取得する
- 12. Javaを使用してCPU速度/メモリ/インターネット速度を検出しますか?
- 13. 加速度計のデータを取得してMacに送信
- 14. PHPでファイルのダウンロード速度(転送速度)を取得するには?
- 15. Javaプログラムを使ってインターネット速度を分析する
- 16. WiFiのスキャン速度を向上させる
- 17. Javascript - インターネット速度/帯域幅を検出する
- 18. iosでプログラム的にWi-Fiまたは3Gインターネット速度を取得する方法
- 19. Android:加速度計とジャイロスコープから同時にデータを取得する
- 20. 角度でAPIデータを取得する
- 21. 私のWiFiアドレスを取得するAndroid
- 22. Wifiアドレス問題を取得する
- 23. iPad/iPhone MAC/Wifiアドレスを取得する
- 24. ユーザーに警告するインターネット速度が遅い場合
- 25. AndroidのWifiインターフェイスの速度リミッタをダウンロードしてください。
- 26. ユーザーが歩いている速度を取得する方法
- 27. アンドロイド加速度計からの傾斜角度を取得
- 28. iPhone加速度計データを使用して画像のトップダウンビューを取得
- 29. プログラムによるインターネットの速度の決定
- 30. アンドロイドエミュレータでインターネット接続を取得する