Как использовать networkStatsManager

Я не совсем понимаю, как это работает networkStatsManager, я читал здесь документы и вопросы, но до сих пор не понимаю. То, что я пытаюсь сделать, это топ-10 приложений, которые потребляют больше данных, с TrafficStats я сделал что-то вроде этого:

final PackageManager pm = parentActivity.getPackageManager();
        List<ApplicationInfo> packages = pm.getInstalledApplications(0);

        if (android.os.Build.VERSION.SDK_INT < Build.VERSION_CODES.M) {



            for (ApplicationInfo packageInfo : packages) {

                UID = packageInfo.uid;
                String package_name = packageInfo.packageName;
                ApplicationInfo app = null;
                try {
                    app = pm.getApplicationInfo(package_name, 0);
                } catch (PackageManager.NameNotFoundException e) {
                    e.printStackTrace();

                }
                String name = (String) pm.getApplicationLabel(app);
                double received = (double) TrafficStats.getUidRxBytes(UID) / (1024 * 1024);
                double send = (double) TrafficStats.getUidTxBytes(UID) / (1024 * 1024);
                double total = received + send;
                new DecimalFormat("#.##").format(total);

                if (total > 0) {
                    ConsultaMB consulta = new ConsultaMB();
                    consulta.setName(name);
                    consulta.setPackage(package_name);
                    consulta.setData(Math.floor(total * 100) / 100);
                    lista.add(consulta);
                }


            }

Как мне сделать это с networkStatsManager (мне это нужно для Android M и вперед)

0 ответов

Другие вопросы по тегам