我正在编写一个应用程序的一小部分,该应用程序使用安卓的networkstatsManager在txBytes中查找Uid。但是,我在尝试使用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();发布于 2021-04-22 15:25:37
您会收到此错误,因为尚未声明和初始化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);https://stackoverflow.com/questions/67208491
复制相似问题