Android NetworkStatsManagerで通信具合を見る

networking - How to get current network usage of app (or in total), even on Android N? - Stack Overflowに書いてあるので、OK。
// Managerインスタンスの取得
NetworkStatsManager networkStatsManager = (NetworkStatsManager) context.getSystemService(Context.NETWORK_STATS_SERVICE);
//NetworkStatsManager networkStatsManager = context.getSystemService(NetworkStatsManager.class);// こちらでも良い
// 取得要求
NetworkStats stats = networkStatsManager.queryDetailsForUid(ConnectivityManager.TYPE_WIFI, "", start, end, uid);
queryで指定するendとstartの差は、1時間以上必要のようだ。(未確認) 短時間で見るときには、NetworkStatsManager.UsageCallback | Android DevelopersのCallbackを適切に設定するみたい。
タイトルとURLをコピーしました