我正在开发一个应用程序,可以从特定的包中获取网络统计数据,但我遇到了以下问题:
android.permission.READ_NETWORK_USAGE_HISTORY.:用户10412和当前进程都没有NetworkStats
以下是代码:
try {
TelephonyManager tm;String subscriberID;
NetworkStatsManager networkStatsManager;
NetworkStats networkStats;NetworkStats.Bucket bucket;
tm = (TelephonyManager) mContext.getSystemService(mContext.TELEPHONY_SERVICE);
subscriberID = tm.getSubscriberId();
networkStatsManager = mContext.getSystemService(NetworkStatsManager.class);
networkStats = networkStatsManager.queryDetailsForUid
(typeMobile, subscriberID, dtBegin, dtEnd, uidPackage);
if(networkStats !=null){
while (networkStats.hasNextBucket()) {
bucket = new NetworkStats.Bucket();
networkStats.getNextBucket(bucket);
Log.d("Bucket RX:",bucket.getUid()+" -" +String.valueOf(bucket.getRxBytes()));
Log.d("Bucket TX:",bucket.getUid()+" -" +String.valueOf(bucket.getTxBytes()));
}
}
}
catch (Exception ex){
Logger.e(ex.getMessage());
}发布于 2016-08-16 15:10:40
READ_NETWORK_USAGE_HISTORY权限只授予系统应用程序。所以,除非你使用的是根手机,否则你将无法使用它。唯一的出路是使用TrafficStats,这是从API 8开始提供的。
https://stackoverflow.com/questions/38977492
复制相似问题