Android编程实现监控各个程序流量的方法
程序员文章站
2023-12-11 15:27:46
本文实例讲述了android编程实现监控各个程序流量的方法。分享给大家供大家参考,具体如下:
public void getapptrafficlist(){...
本文实例讲述了android编程实现监控各个程序流量的方法。分享给大家供大家参考,具体如下:
public void getapptrafficlist(){ //获取所有的安装在手机上的应用软件的信息,并且获取这些软件里面的权限信息 packagemanager pm=getpackagemanager();//获取系统应用包管理 //获取每个包内的androidmanifest.xml信息,它的权限等等 list<packageinfo> pinfos=pm.getinstalledpackages (packagemanager.get_uninstalled_packages | packagemanager.get_permissions); //遍历每个应用包信息 for(packageinfo info:pinfos){ //请求每个程序包对应的androidmanifest.xml里面的权限 string[] premissions=info.requestedpermissions; if(premissions!=null && premissions.length>0){ //找出需要网络服务的应用程序 for(string premission : premissions){ if("android.permission.internet".equals(premission)){ //获取每个应用程序在操作系统内的进程id int uid=info.applicationinfo.uid; //如果返回-1,代表不支持使用该方法,注意必须是2.2以上的 long rx=trafficstats.getuidrxbytes(uid); //如果返回-1,代表不支持使用该方法,注意必须是2.2以上的 long tx=trafficstats.getuidtxbytes(uid); if(rx<0 || tx<0){ continue; }else{ // toast.maketext(this, info.applicationinfo.loadlabel(pm)+"消耗的流量--"+ // formatter.formatfilesize(this, rx+tx), toast.length_short); } } } } } }
希望本文所述对大家android程序设计有所帮助。