80,471
社区成员




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;
// 获取该应用开机以来下载的总字节数
long rx = TrafficStats.getUidRxBytes(uId);
// 获取该应用开机以来上传的总字节数
long tx = TrafficStats.getUidTxBytes(uId);
// 获取该应用开机以来下载的总包数
long prx = TrafficStats.getUidRxPackets(uId);
// 获取该应用开机以来上传的总包数
long ptx = TrafficStats.getUidTxPackets(uId);