android --- 2g/3g流量问题实例
16lz
2021-01-23
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("---------");}}}
更多相关文章
- 2.Retrofit上传list数组给后端
- android 获取sim卡运营商信息
- android 调用 SharedPreferences 实现偏好信息设置
- Android中向服务器上传图片
- android 文件上传
- 混合开发-H5 调用Android 的相册和照相机上传图片的问题