Android 流量统计在启动时重置

Android 流量统计在启动时重置,android,network-traffic,Android,Network Traffic,嗨,我正试图通过使用下面的代码来了解每个android应用程序的使用情况 PackageManager packageManager = getActivity().getPackageManager(); List<PackageInfo> applist = packageManager.getInstalledPackages(0); Iterator<PackageInfo> it = applist.iterator(); while

嗨,我正试图通过使用下面的代码来了解每个android应用程序的使用情况

PackageManager packageManager = getActivity().getPackageManager();
    List<PackageInfo> applist = packageManager.getInstalledPackages(0);
    Iterator<PackageInfo> it = applist.iterator();

    while (it.hasNext()) {
        PackageInfo pk = (PackageInfo) it.next();
        if (pk.versionName == null) {
            continue ;
        }
        double received = (double) TrafficStats.getUidRxBytes(pk.applicationInfo.uid)

                / (1024 * 1024);
        double send = (double) TrafficStats.getUidTxBytes(pk.applicationInfo.uid)
                / (1024 * 1024);
        double total = received + send;
        textview.setText(pk.applicationInfo.loadLabel(
                                    getActivity().getPackageManager())
                                    .toString() + " " +String.format( "%.2f", total )+" MB");
    } 
PackageManager-PackageManager=getActivity().getPackageManager();
List applist=packageManager.getInstalledPackages(0);
迭代器it=applist.Iterator();
while(it.hasNext()){
PackageInfo pk=(PackageInfo)it.next();
如果(pk.versionName==null){
继续;
}
double received=(double)TrafficStats.getUidRxBytes(pk.applicationInfo.uid)
/ (1024 * 1024);
double send=(double)TrafficStats.getUidTxBytes(pk.applicationInfo.uid)
/ (1024 * 1024);
双倍合计=接收+发送;
textview.setText(pk.applicationInfo.loadLabel(
getActivity().getPackageManager())
.toString()+“”+String.format(“%.2f”,总计)+“MB”);
} 
但如果设备重新启动,则会删除这些值。但在设备中,如果你去安卓设置->数据使用->使用仍然存在。我的问题是

从何处读取每个应用程序的数据使用情况


代码解释很有帮助。谢谢。

TrafficStats.getUidRxBytes(int)将仅从设备启动返回数据使用情况。为什么不尝试将流量数据写入文件,以便在引导后可用?您可以构建一个START\u REDELIVER\u INTENT服务在后台运行

您找到解决方案了吗?我没有找到任何:(UID对于应用程序来说不是永久性的。如果UID不是最活跃的,或者android中的任何其他算法,它将被系统更改。但是,如果您看到nexus或任何4.4.4+设备的使用情况,您甚至可以获得过去几个月每个应用程序的所有数据使用情况。@Fabin Paul每天开机后如何获取保存的数据。