Метод querySummary () NetworkStatsManager всегда возвращает данные об использовании старой сети для всех приложений - android (java)

Я использую источник https://github.com/zhaobao/AppsMonitor для отображения использования данных в мобильном приложении.

NetworkStatsManager's querySummary() метод всегда возвращает старое использование сети для всех приложений

но этот метод возвращает ежедневное использование данных в api 24 и выше, но в api 23 не показывает ежедневное использование данных. это мой код:

        Map<String, Long> result = new HashMap<>();
        if (ActivityCompat.checkSelfPermission(context, Manifest.permission.READ_PHONE_STATE) == PackageManager.PERMISSION_GRANTED) {
            long[] range = AppUtil.getTimeRange(SortEnum.getSortEnum(offset));
            NetworkStats networkStatsM;
            try {
                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
                    networkStatsM = nsm.querySummary(ConnectivityManager.TYPE_MOBILE, tm.getSubscriberId(), range[1],range[1] );
                    if (networkStatsM != null) {
                        while (networkStatsM.hasNextBucket()) {
                            NetworkStats.Bucket bucket = new NetworkStats.Bucket();
                            networkStatsM.getNextBucket(bucket);
                            String key = "u" + bucket.getUid();
                           // Log.d("range", key+"(" +range[0]+"-"+range[1]+")" +" " + bucket.getTxBytes() + " =" + bucket.getStartTimeStamp()+ " =" +bucket.getEndTimeStamp());
                            if (result.containsKey(key)) {
                                result.put(key, result.get(key) + bucket.getTxBytes() + bucket.getRxBytes());
                            } else {
                                result.put(key, bucket.getTxBytes() + bucket.getRxBytes());
                            }
                        }
                    }
                }
            } catch (RemoteException e) {
                e.printStackTrace();
                Log.e(">>>>>", e.getMessage());
            }
        }
        return result;
    }

кто-нибудь может мне помочь с этим? Благодарность!

0 ответов

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