Android 如何监控其他应用程序的网络使用情况?
我使用Android 如何监控其他应用程序的网络使用情况?,android,android-trafficstats,Android,Android Trafficstats,我使用TrafficStats.getUidRxBytes获取网络使用情况。它在我的应用程序中运行良好,但在其他应用程序中总是返回-1(不支持)。如何在没有root权限的情况下获取其他应用的网络使用情况?自android 7以来,您只能查询自己的应用流量使用情况。从TraffixStats.getUidRxBytesdocs: 从N开始,这将只报告调用UID的流量统计信息出于隐私原因,它将返回所有其他UID不支持的数据。要访问属于其他UID的历史网络统计信息,请使用NetworkStatsMan
TrafficStats.getUidRxBytes
获取网络使用情况。它在我的应用程序中运行良好,但在其他应用程序中总是返回-1(不支持)。如何在没有root权限的情况下获取其他应用的网络使用情况?自android 7以来,您只能查询自己的应用流量使用情况。从TraffixStats.getUidRxBytes
docs:
从N
开始,这将只报告调用UID的流量统计信息出于隐私原因,它将返回所有其他UID不支持的数据。要访问属于其他UID的历史网络统计信息,请使用NetworkStatsManager
转到NetworkStatsManager
,您可以使用queryDetailsFruid
,但如文档()所示:
注意:调用querySummaryForDevice(int,String,long,long)
或访问除调用应用程序以外的应用程序的统计信息需要权限包使用情况统计信息
,这是系统级权限,不会授予第三方应用程序。,声明权限意味着打算使用API,设备用户可以通过设置应用程序授予权限
因此,请注意,用户必须对您的应用程序授予某些特殊权限
编辑:
我曾经使用过
usagestastsmanager
,我想这正是你想要的:使用应用程序监控应用程序…@B001我需要将此功能添加到我的应用程序中。但是为什么要重新发明轮子呢?@B001我正在开发一个网络信息应用程序。@Amirezh请检查我的答案。如果它回答了您的问题,请标记为正确