欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android編程實(shí)現(xiàn)監(jiān)控各個(gè)程序流量的方法

 更新時(shí)間:2015年12月02日 09:48:10   作者:lee0oo0  
這篇文章主要介紹了Android編程實(shí)現(xiàn)監(jiān)控各個(gè)程序流量的方法,涉及Android針對(duì)應(yīng)用包的遍歷,權(quán)限控制及相關(guān)屬性操作技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下

本文實(shí)例講述了Android編程實(shí)現(xiàn)監(jiān)控各個(gè)程序流量的方法。分享給大家供大家參考,具體如下:

public void getAppTrafficList(){ 
  //獲取所有的安裝在手機(jī)上的應(yīng)用軟件的信息,并且獲取這些軟件里面的權(quán)限信息 
  PackageManager pm=getPackageManager();//獲取系統(tǒng)應(yīng)用包管理 
  //獲取每個(gè)包內(nèi)的androidmanifest.xml信息,它的權(quán)限等等 
  List<PackageInfo> pinfos=pm.getInstalledPackages 
    (PackageManager.GET_UNINSTALLED_PACKAGES | PackageManager.GET_PERMISSIONS); 
  //遍歷每個(gè)應(yīng)用包信息 
  for(PackageInfo info:pinfos){ 
   //請(qǐng)求每個(gè)程序包對(duì)應(yīng)的androidManifest.xml里面的權(quán)限 
   String[] premissions=info.requestedPermissions; 
   if(premissions!=null && premissions.length>0){ 
    //找出需要網(wǎng)絡(luò)服務(wù)的應(yīng)用程序 
    for(String premission : premissions){ 
     if("android.permission.INTERNET".equals(premission)){ 
      //獲取每個(gè)應(yīng)用程序在操作系統(tǒng)內(nèi)的進(jìn)程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);
      } 
     } 
    } 
   } 
  } 
}

希望本文所述對(duì)大家Android程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評(píng)論