2***@qq.com
2***@qq.com
  • 发布:2020-11-03 15:53
  • 更新:2021-04-02 13:57
  • 阅读:1906

NetworkStatsManager.querySummaryForDevice获取流量使用情况

分类:Native.js

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)
0 关注 分享

要回复文章请先登录注册

b***@qq.com

b***@qq.com

似乎需要一个PACKAGE_USAGE_STATS的安卓权限,但是uni好像不支持手动添加该权限,你是怎么跑通的呀……我打印出来都是null和0……
2021-04-02 13:57
b***@qq.com

b***@qq.com

我这边报错 TypeError: plus.android.runtimeMainActivity is not a function. (In 'plus.android.runtimeMainActivity()', 'plus.android.runtimeMainActivity' is undefined)
2021-04-02 10:36
b***@qq.com

b***@qq.com

请问需要配置什么权限吗?
2021-04-02 10:35