android --- 2g/3g流量问题实例
16lz
2022-03-14
public class DemoActivity extends Activity {/** Called when the activity is first created. */PackageManager pm;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);pm = getPackageManager();;// 获取手机里面所有的2g/3g产生的 下载的流量信息 receiverSystem.out.println("2g/3g下载流量"+ Formatter.formatFileSize(this,TrafficStats.getMobileRxBytes()));TrafficStats.getMobileTxBytes();// 获取手机里面所有的2g/3g产生的所有上传的信息 transportSystem.out.println("2g/3g上传流量"+ Formatter.formatFileSize(this,TrafficStats.getMobileTxBytes()));long wifirx = TrafficStats.getTotalRxBytes()- TrafficStats.getMobileRxBytes();long wifitx = TrafficStats.getTotalTxBytes()- TrafficStats.getMobileTxBytes();System.out.println("wifi下载流量" + Formatter.formatFileSize(this, wifirx));System.out.println("wifi上传流量" + Formatter.formatFileSize(this, wifitx));// 获取所有安装在手机上的应用软件的信息 ,并且获取这些软件里面的权限信息// ctrl+shift+o 快速导包List<PackageInfo> packinfos = pm.getInstalledPackages(PackageManager.GET_UNINSTALLED_PACKAGES| PackageManager.GET_PERMISSIONS);for (PackageInfo info : packinfos) {String[] premissions = info.requestedPermissions;if (premissions != null && premissions.length > 0) {for (String premission : premissions) {if("android.permission.INTERNET".equals(premission)){//System.out.println(info.packageName+"访问网络");int uid = info.applicationInfo.uid;long rx = TrafficStats.getUidRxBytes(uid);long tx = TrafficStats.getUidTxBytes(uid);if(rx<0||tx<0){System.out.println(info.packageName + "没有产生流量");}else{System.out.println(info.packageName+"的流量信息:");System.out.println("下载的流量"+Formatter.formatFileSize(this, rx));System.out.println("上传的流量"+Formatter.formatFileSize(this,tx ));}}}System.out.println("---------");}}}
更多相关文章
- android获取联系人所有内容
- 获取Android应用程序的签名
- android 程序漰溃 后台handle处理类
- android 网络下载获取文件大小
- android时间控件DatePicker使用实例
- Android(安卓)跳转Activity并通过Bundle对象传递数据
- 屏蔽EditText自动获取焦点
- Android(安卓)获取 IP 地址
- Android实现自动定位城市并获取天气信息