从 Android 4.0 开始,我们在手机中有数据使用控制选项。请检查随附的屏幕截图以进一步了解。
http://developer.android.com/about/versions/android-4.0-highlights.html
现在我有一些要求从我的应用程序中检查这些东西(所有应用程序在特定时间段/特定日期的数据使用情况)。我怎样才能做到这一点?我也在使用下面的类来获取网络使用详细信息。
http://developer.oesf.biz/em/developer/reference/eggplant/android/net/NetworkStatsHistory.html
请检查以下链接图片。我需要开发相同类型的应用程序。
http://developer.android.com/sdk/images/4.0/usage-all-lg.png
http://developer.android.com/sdk/images/4.0/usage-maps-lg.png
感谢您分享您的代码,但我需要知道每个应用程序而不是所有应用程序使用的数据。到目前为止,我在链接中观察到没有人谈论单个应用程序的数据使用情况。我已经知道如何在设备中显示已安装的应用程序。现在我想知道每个应用程序使用的数据是什么。
我正在使用以下代码获取设备中已安装应用程序的列表。
private ArrayList<PInfo> getInstalledApps(boolean getSysPackages) {
ArrayList<PInfo> res = new ArrayList<PInfo>();
List<PackageInfo> packs = getPackageManager().getInstalledPackages(0);
for (int i=0; i<packs.size(); i++) {
PackageInfo p = packs.get(i);
if ((!getSysPackages) && (p.versionName == null)) {
continue ;
}
PInfo newInfo = new PInfo();
newInfo.setAppname(p.applicationInfo.loadLabel(getPackageManager()).toString());
newInfo.setPname(p.packageName);
newInfo.setVersionName(p.versionName);
newInfo.setVersionCode(p.versionCode);
newInfo.setIcon(p.applicationInfo.loadIcon(getPackageManager()));
res.add(newInfo);
}
return res;
}
我如何知道每个应用程序使用的数据是什么?
实际上,我需要一个解决方案,它可以在给定的时间段内(即两天之间)提供应用程序的数据使用情况。