PackageManager(流量监控,安装,卸载,app信息)

摘要:
//1.获取一个包管理器。
//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"/>

免责声明:文章转载自《PackageManager(流量监控,安装,卸载,app信息)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Nacos系列:基于Nacos的配置中心python基础知识(理论)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

android widget 开发实例 : 桌面便签程序的实现具体解释和源代码 (上)

如有错漏请不吝拍砖指正,转载请注明出处,很感谢   桌面便签软件是android上经常使用软件的一种,比方比較早的Sticky Note,就曾很流行, Sticky Note的介绍能够參见 http://www.tompda.com/c/article/11778/  而实际上使用android平台对widget开发的支持,桌面便签类软件是很易于开发...

celery使用

Celery 1.什么是Clelery Celery是一个简单、灵活且可靠的,处理大量消息的分布式系统 专注于实时处理的异步任务队列 同时也支持任务调度 Celery架构 Celery的架构由三部分组成,消息中间件(message broker),任务执行单元(worker)和任务执行结果存储(task result store)组成。 消息中间件 Ce...

Oracle-OGG,双向同步过滤OGG自身用户的DML失效,如何处理?

一、问题,OGG,双向同步过滤OGG自身用户的DML失效,如何处理? TRANLOGOPTIONS EXCLUDEUSER pdbodb.C##OGG1双向复制每个抽取进程配置这个参数,过滤OGG用户产生的DML操作进行屏蔽,否则无限循环复制!如果不好使了呢? 某个链路的过滤参数失效? 二、尝试使用其它参数进行过滤 2.1 EXCLUDEUSERID  测...

npm 安装包失败 --- 清除npm缓存

在网上找清缓存的办法,第一个就是 npm cache verify, 没有效果,还有一个方法npm cache clean --force, 还是没有作用,最后想到到底缓存放到什么地方,因为以前全局安装某个命令的时候,有一个AppData/roaming 的文件夹,里面放到就是npm 的命令, 这时搜了一下npm cache 存放的位置,也是在这个地方,C...

Office Tab Enterprise 9.2——附可用激活码

转自:网景论坛 Office Tab是office的扩展插件,Office Tab 的主要功能就是可以让office 2013、office 2010、2007、2003实现多窗口标签式浏览。不仅如此,Office Tab 还支持自定义标签外观、标签的显示位置、标签的关闭方式、随意拖拽标签位置等。你甚至可以像使用浏览器一样来使用Office。由于免费版的o...

C#上传视频等大文件

最近遇见一个需要上传超大大文件的需求,调研了七牛和腾讯云的切片分段上传功能,因此在此整理前端大文件上传相关功能的实现。 在某些业务中,大文件上传是一个比较重要的交互场景,如上传入库比较大的Excel表格数据、上传影音文件等。如果文件体积比较大,或者网络条件不好时,上传的时间会比较长(要传输更多的报文,丢包重传的概率也更大),用户不能刷新页面,只能耐心等待请...