zoukankan      html  css  js  c++  java
  • PackageManager(流量监控,安装,卸载,app信息)

    //1.获取一个包管理器。  
    PackageManager pm = getPackageManager();  
    //2.遍历手机操作系统 获取所有的应用程序的uid  
    List<ApplicationInfo> appliactaionInfos = pm.getInstalledApplications(0);  
    for(ApplicationInfo applicationInfo : appliactaionInfos){  
        int uid = applicationInfo.uid;    // 获得软件uid  
        //proc/uid_stat/10086  
        long tx = TrafficStats.getUidTxBytes(uid);//发送的 上传的流量byte  
        long rx = TrafficStats.getUidRxBytes(uid);//下载的流量 byte  
        //方法返回值 -1 代表的是应用程序没有产生流量 或者操作系统不支持流量统计  
    }  
    TrafficStats.getMobileTxBytes();//获取手机3g/2g网络上传的总流量  
    TrafficStats.getMobileRxBytes();//手机2g/3g下载的总流量  
      
    TrafficStats.getTotalTxBytes();//手机全部网络接口 包括wifi,3g、2g上传的总流量  
    TrafficStats.getTotalRxBytes();//手机全部网络接口 包括wifi,3g、2g下载的总流量  
    final PackageManager packageManager = getActivity().getPackageManager();//获取packagemanager   
    List< PackageInfo> pinfo = packageManager.getInstalledPackages(0);//获取所有已安装程序的包信息   
        if(pinfo != null){   
        for(int i = 0; i < pinfo.size(); i++){   
            String packName = pinfo.get(i).packageName;   
            Log.d("info", "-->"+packName);  
        }   
    }   
    Uri uri = Uri.fromFile(updateFile); //获取文件的Uri
    Intent installIntent = new Intent(Intent.ACTION_VIEW);
    installIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    installIntent.setDataAndType(uri,
                  "application/vnd.android.package-archive");//设置intent的数据类型
    startActivity(installIntent);
    有时候我们可能开发了多款软件,这时候我们需要在其中一款软件中启动另一款软件,这时候需要的方法如下:
    
        PackageManager pm = getPackageManager();
        Intent i = pm.getLaunchIntentForPackage("com.test.aaa");//获取启动的包名
        startActivity(i); 
    android中卸载指定包名的应用程序方法如下:
    
    Uri uri = Uri.parse("package:com.test.aaa");//获取删除包名的URI
    i.setAction(Intent.ACTION_DELETE);//设置我们要执行的卸载动作
    i.setData(uri);//设置获取到的URI
    startActivity(i);
    最后要记得在Manifest文件里增加权限:<uses-permission android:name="android.permission.DELETE_PACKAGES"/>
  • 相关阅读:
    性能测试相关名词
    Java中的并发工具类:CountDownLatch、CyclicBarrier和Semaphore
    spring与mybatis五种整合方法
    Powerdesigner使用技巧
    基于Redis的Spring cache 缓存介绍
    AspectJ AOP介绍
    Spring AOP的实现原理
    -webkit-tap-highlight-color
    Zero Clipboard js+swf实现的复制功能使用方法
    CSS3 RGBA 属性高级用法
  • 原文地址:https://www.cnblogs.com/g-sheng/p/5454770.html
Copyright © 2011-2022 走看看