在 NetworkStatsManager 类中,对于每个查询方法,都会调用一个“createTemplate()”函数,除非传递的连接类型是 ConnectivityManager.TYPE_MOBILE 或 ConnectivityManager.TYPE_WIF,否则它会引发异常。那么,NetworkStatsManager 是否不提供以太网连接的网络使用统计信息?如果没有,还有其他 API 吗?
private static NetworkTemplate createTemplate(int networkType, String subscriberId) {
final NetworkTemplate template;
switch (networkType) {
case ConnectivityManager.TYPE_MOBILE:
template = subscriberId == null
? NetworkTemplate.buildTemplateMobileWildcard()
: NetworkTemplate.buildTemplateMobileAll(subscriberId);
break;
case ConnectivityManager.TYPE_WIFI:
template = NetworkTemplate.buildTemplateWifiWildcard();
break;
default:
throw new IllegalArgumentException("Cannot create template for network type "
+ networkType + ", subscriberId '"
+ NetworkIdentity.scrubSubscriberId(subscriberId) + "'.");
}
return template;
}
PS:它适用于 Android TV 应用程序。