本文實例講述了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程序設計有所幫助。
新聞熱點
疑難解答
圖片精選