java - 无法解析符号“networkStatsManager”[networkStatsManager]
问题描述
我正在编写一个应用程序的一小部分,该应用程序使用 android 的 networkstatsManager 查找 Uid 的 txBytes。但是,我在尝试使用 networkStatsManager 时遇到错误。Android Studio 不断给我错误“无法解析符号'networkStatsManager'”。我不确定我做错了什么。任何建议将不胜感激。
这是继续给我一个错误的行:networkStats = networkStatsManager.queryDetailsForUid(ConnectivityManager.TYPE_WIFI, "", 0, System.currentTimeMillis(),stat);
第 13 行。
这是我的代码:
PackageManager packageManager = getPackageManager();
ApplicationInfo info = null;
try {
info = packageManager.getApplicationInfo(packname, 0);
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
int stat = info.uid;
NetworkStats networkStats = null;
NetworkStats.Bucket bucket = new NetworkStats.Bucket();
networkStats = networkStatsManager.queryDetailsForUid(ConnectivityManager.TYPE_WIFI, "", 0, System.currentTimeMillis(),stat);
long txBytes = 0L;
while (networkStats.hasNextBucket()) {
networkStats.getNextBucket(bucket);
txBytes += bucket.getTxBytes();
TextView textView2 = (TextView) findViewById(R.id.test2);
textView2.setText(String.valueOf(txBytes));
}
networkStats.close();
解决方案
您收到此错误是因为 networkStatsManager 尚未声明和初始化
NetworkStats networkStats = null;
NetworkStats.Bucket bucket = new NetworkStats.Bucket();
//this is the missing line
NetworkStatsManager networkStatsManager = context.getSystemService(NetworkStatsManager.class)
networkStats = networkStatsManager.queryDetailsForUid(ConnectivityManager.TYPE_WIFI, "", 0, System.currentTimeMillis(),stat);
推荐阅读
- java - JavaFX - 窗格大小属性绑定
- caching - 我如何知道服务人员通过 Workbox 缓存的响应的日期时间?
- angular - 在动态创建的组件中将上下文传递给模板
- sql-server - 在开始交易中开始交易
- php - LemonWay MoneyIn3DInit 响应 262
- c# - 加入主详细信息时Linq查询非常慢
- node.js - 服务器中的 Socket.io 反复断开连接,而在客户端却没有
- python - IPython 与 Jupyter
- apache-kafka - 使用 KafkaConsumer 的 listTopics() 时出现误报 kafka-authorizer.log
- mobile - Detox 自动化库可以自动化混合和 Web 应用程序吗?