解决方案 »
- 一个关于android 中的线程问题,各位帮忙看一下
- 初学android,第二个程序就是检查不出错!求解、、;错误弹出对话框显示stoped unexpected,
- android文件下载遇到两个问题,请大侠来解决!!
- activity之间怎么传递inputstream或者outputstream参数
- OpenGL ES实现图片展示的效果
- PCM 数据 画波形
- 求助:WebView和JS的问题
- 如何判断手机当前是不是处于待机状态
- android include问题
- WinXP SP3 下安装 Android SDK,模拟器启动时出现错误...
- 平板用Gallery2显示1024x768图片会有一条竖线。
- webview加载本地文字网络图片时出现的问题
TrafficStats.getMobileRxBytes()能够获取到自开机以来手机通过移动网络接受到的字节数。
SDK没有提供每个app通过移动网络获取到字节数的api。
public void method() {
ConnectivityManager connectMgr = (ConnectivityManager) this
.getSystemService(Context.CONNECTIVITY_SERVICE);
ApplicationInfo info = getApplicationInfo();
NetworkInfo netinfo = connectMgr.getActiveNetworkInfo();
if (netinfo != null || netinfo.isAvailable()) {
System.out.println("========================");
if (netinfo.getType() == ConnectivityManager.TYPE_MOBILE) {
System.out.println(info.packageName);
String name = info.packageName;
if (name.equals("com.example.demo")
|| name == "com.example.demo") {
int uid = info.uid;
System.out.println(uid + ".............");
System.out.println("所消耗2G/3G流量"+TrafficStats.getUidRxBytes(uid) + TrafficStats.getUidTxBytes(uid));
}
}
if (netinfo.getType() == ConnectivityManager.TYPE_WIFI) {
System.out.println(info.packageName);
String name = info.packageName;
if (name.equals("com.example.demo")
|| name == "com.example.demo") {
int uid = info.uid;
System.out.println(uid + ".............");
System.out.println(TrafficStats.getUidRxBytes(uid));
System.out.println(TrafficStats.getUidTxBytes(uid));
System.out.println("所消耗的wifi的流量="+((int)TrafficStats.getUidRxBytes(uid)+(int)TrafficStats.getUidTxBytes(uid)));
}
}
} }