TrafficStats.getUidRxBytes return -1



我尝试获取每个安装的应用程序的Tx和Tr字节总数,但总是返回-1,除了在我的应用程序中。这是我的代码:

val pm = context.packageManager
val apps = HashMap<String, Long>()
for( app in pm.getInstalledApplications(0) ) {
Log.i(TAG, "app.packageName=${app.packageName} TrafficStats.getUidTxBytes(app.uid)=${TrafficStats.getUidTxBytes(app.uid)} TrafficStats.getUidRxBytes(app.uid)=${TrafficStats.getUidRxBytes(app.uid)}")
apps.put(app.packageName, TrafficStats.getUidRxBytes(app.uid)+TrafficStats.getUidTxBytes(app.uid))
}

根据文档:

在Build.VERSION_CODES.N中启动,这将只报告调用UID的流量统计信息。出于隐私原因,它将为所有其他UID返回UNSUPPORTED。要访问属于其他UID的历史网络统计信息,请使用NetworkStatsManager。

当获得您意想不到的返回值时,请始终首先查看最新的文档。

相关内容

  • 没有找到相关文章

最新更新