我尝试获取每个已安装应用程序的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))
}
答案 0 :(得分:0)
根据文档:
从Build.VERSION_CODES.N开始,它将仅报告呼叫UID的流量统计信息。出于隐私原因,它将为所有其他UID返回UNSUPPORTED。要访问属于其他UID的历史网络统计信息,请使用NetworkStatsManager。
获取意外的返回值时,请始终先检查最新文档。