querySummaryForDevice方法第一个参数0表示查手机流量,1表示查wifi流量。对于第二个参数subscriberId,如果是Android10系统,传null即可。以下代码在自己的小米8A和华为mate pad pro上有用。
我也不是很懂,就是试出来这样可行,供有需要的人参考。
plus.android.importClass('android.app.usage.NetworkStatsManager')
var main = plus.android.runtimeMainActivity();
var Context = plus.android.importClass("android.content.Context")
var nsm = main.getSystemService(Context.NETWORK_STATS_SERVICE)
console.log(nsm)
var bucket0 = nsm.querySummaryForDevice(0, null, new Date('2020-11-02 00:00:00').getTime(), new Date().getTime()) // mobile data
console.log(bucket0)
var r0 = plus.android.invoke(bucket0, 'getRxBytes')
var t0 = plus.android.invoke(bucket0, 'getTxBytes')
var m = (r0 + t0)
console.log(r0 / 1024 / 1024, t0 / 1024 / 1024, m / 1024 / 1024)
var bucket1 = nsm.querySummaryForDevice(1, null, new Date('2020-11-02 00:00:00').getTime(), new Date().getTime()) // wifi data
console.log(bucket1)
var r1 = plus.android.invoke(bucket1, 'getRxBytes')
var t1 = plus.android.invoke(bucket1, 'getTxBytes')
var w = (r1 + t1)
console.log(r1 / 1024 / 1024, t1 / 1024 / 1024, w / 1024 / 1024)