如何在Android上基于每个应用程序查找数据使用情况?

我试图在每个应用程序的基础上找出Android上的数据使用情况。像Android数据使用应用程序和配额/上限监视器小部件:永远不会收取额外的数据或再次上限!。


我查看了Stack Overflow问题如何在Android环境中检测数据使用情况。


但它并没有多大帮助。


ActivityManager activityManager = (ActivityManager) this.getSystemService(ACTIVITY_SERVICE);

ActivityManager.MemoryInfo mInfo = new ActivityManager.MemoryInfo();

activityManager.getMemoryInfo( mInfo );

List<RunningAppProcessInfo> listOfRunningProcess = activityManager.getRunningAppProcesses();

Log.d(TAG, "XXSize: " + listOfRunningProcess.size());


for (RunningAppProcessInfo runningAppProcessInfo : listOfRunningProcess) {


    if (runningAppProcessInfo.uid > 1026)

    {

        Log.d(TAG, "ANS " + runningAppProcessInfo.processName +

                   " Id :" + runningAppProcessInfo.pid +

                   " UID: " + runningAppProcessInfo.uid);

    }

}

我按照Akos Cz的建议尝试了上面的代码。但是,与上面提到的不同,所有UID都是数字app_79。这样可以吗?


蓝山帝景
浏览 335回答 3
3回答

人到中年有点甜

Prorammatically:您可以声明操作的意图过滤器ACTION_MANAGE_NETWORK_USAGE(在Android 4.0中引入),以指示您的应用程序定义了一个活动,该活动提供控制数据使用的选项。ACTION_MANAGE_NETWORK_USAGE显示用于管理特定应用程序的网络数据使用情况的设置。当您的应用具有允许用户控制网络使用的设置活动时,您应该为该活动声明此意图过滤器。检查了这一点有关管理数据使用情况的详细信息管理每个应用程序的使用。ACTION_MANAGE_NETWORK_USAGE你可以在这里看到正确的定义。
打开App,查看更多内容
随时随地看视频慕课网APP