如何在Android中获取已安装应用程序的数据,内存和电池使用情况?

时间:2017-09-16 13:14:16

标签: android

说明:             我试图在android中找到已安装应用程序的数据,电池和内存使用情况。我已经尝试了很多东西来从API 22到以后的数据使用。我使用TrafficStats来获取每个应用程序的数据使用情况,包括from和to time。

我收到了负片格式的数据。

我在这里发布了以下代码:

public void getPakagesInfoUsingHashMap() {
        final PackageManager pm = getActivity().getPackageManager();
        // get a list of installed apps.
        List<ApplicationInfo> packages = pm.getInstalledApplications(0);

        // loop through the list of installed packages and see if the selected
        // app is in the list
        for (ApplicationInfo packageInfo : packages) {
            // get the UID for the selected app
            int UID = packageInfo.uid;
            String package_name = packageInfo.packageName;
            ApplicationInfo app = null;
            try {
                app = pm.getApplicationInfo(package_name, 0);
            } catch (PackageManager.NameNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            String name = (String) pm.getApplicationLabel(app);
            Drawable icon = pm.getApplicationIcon(app);
            // internet usage for particular app(sent and received)
            double received = (double) TrafficStats.getUidRxBytes(UID)

                    / (1024 * 1024);
            double send = (double) TrafficStats.getUidTxBytes(UID)
                    / (1024 * 1024);
            double total = received + send;

            if(total>0)
            {

                Log.e(name,String.format( "%.2f", total )+" MB");
            }

        }
    }

代码说明:它将打印已安装的应用程序名称以及每个应用程序的数据用法。

注意:我已在API级别7.0(牛轧糖)中安装了我的应用程序。

我在互联网上阅读了很多博客,但我找不到这个特定问题的真正解决方案。

很少有博客建议我找到NetworkStatManager。我没有从NetworkStatManager获取GB格式的MB数据。

请帮我解决。

0 个答案:

没有答案