相关疑难解决方法(0)

如何在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);
    }
}
Run Code Online (Sandbox Code Playgroud)

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

android usage-statistics

41
推荐指数
2
解决办法
7万
查看次数

/ proc/net/dev中字段的含义是什么?

Linux文件/ proc/net/dev读取如下:

[me@host ~]$ cat /proc/net/dev
Inter-|   Receive                                                |  Transmit
 face |bytes    packets errs drop fifo frame compressed multicast|bytes    packets errs drop fifo colls carrier compressed
Run Code Online (Sandbox Code Playgroud)

字段下降错误是什么意思?

一些ERRS包也算在下降包?

为什么数据包被认为是错误的,是因为它遭受校验和错误?

为什么丢包?是因为系统没有足够的缓冲区,因为NIC上有一些突发?

难道这两个领域采取发往另一个主机的数据包(例如,当网卡处于混杂模式下工作)为考虑的?

linux tcp

20
推荐指数
3
解决办法
3万
查看次数

如何以编程方式显示所有应用程序的数据使用情况?

在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

请检查以下链接图像.我需要开发相同类型的应用程序.

感谢您分享您的代码,但我需要知道每个应用程序使用的数据而不是所有应用程序.到目前为止,我在链接中观察到没有人在讨论各个应用程序的数据使用情况.我已经知道如何在设备中显示已安装的应用程序.现在我想知道每个应用程序使用的数据是什么.

我使用以下代码列出设备中已安装的应用程序列表.

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;
}
Run Code Online (Sandbox Code Playgroud)

我如何知道每个应用程序使用的数据是什么?

实际上,我需要一个解决方案,在给定的时间段内(即两天之间)提供应用程序的数据使用.

android usage-statistics android-data-usage

16
推荐指数
2
解决办法
3万
查看次数

如何获得Android Q上的应用程序的网络使用率?

背景

我知道我们可以通过使用类似的东西(在过去,在这里询问)来获取指定应用程序的网络使用情况(到目前为止,从某个特定时间到目前为止移动和Wifi的总带宽使用量):

    private final static int[] NETWORKS_TYPES = new int[]{ConnectivityManager.TYPE_WIFI, ConnectivityManager.TYPE_MOBILE};

    long rxBytes=0L, txBytes=0L;
    final TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
    final String subscriberId = telephonyManager.getSubscriberId();
    final ApplicationInfo applicationInfo = context.getPackageManager().getApplicationInfo(packageName, 0);
    final int uid = applicationInfo.uid;
    for (int networkType : NETWORKS_TYPES) {
        final NetworkStats networkStats = networkStatsManager.queryDetailsForUid(networkType, subscriberId, 0, System.currentTimeMillis(), uid); 
        final Bucket bucketOut = new Bucket();
        while (true) {
                networkStats.getNextBucket(bucketOut);
                final long rxBytes = bucketOut.getRxBytes();
                if (rxBytes >= 0)
                    totalRx += rxBytes;
                final long txBytes = bucketOut.getTxBytes(); …
Run Code Online (Sandbox Code Playgroud)

networking android android-10.0

5
推荐指数
1
解决办法
461
查看次数