Запрос NetworkStatsManager для android.uid.system возвращает только информацию переднего плана - PullRequest
0 голосов
/ 15 марта 2019

Я пытаюсь получить мобильное использование данных Android для каждого приложения с помощью NetworkStatsManager. Я иду бросить AM.getRunningAppProcesses (), AM.getRunningServices () и AM.getInstalledApplications (). Для каждого идентификатора:

    networkStats = networkStatsManager.queryDetailsForUid(
                        ConnectivityManager.TYPE_MOBILE,
                        getSubscriberId(context, ConnectivityManager.TYPE_MOBILE),
                        startTime,
                        endTime,
                        uid)
    long dataTx = 0;
    long dataRx = 0;
    while (networkStats.hasNextBucket()) {
        NetworkStats.Bucket bucket = new NetworkStats.Bucket();
        if(networkStats.getNextBucket(bucket)) {
            dataTx += bucket.getTxBytes();
            dataRx += bucket.getRxBytes();
        }
    }

Все выглядит нормально, когда я сравниваю свой телефон и данные, которые я получаю, но для android ui (android.uid.system) возвращает только использование данных на переднем плане. Для остальных приложений я получаю информацию как на переднем, так и на заднем плане.

Я сделал что-то другое для этого uid? Или эта информация (фон) по какой-то причине скрыта?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...