当前位置: 首页 > news >正文

Android获取手机已安装应用列表JAVA实现

最终效果:

 设计

 

实现java代码:

//获取包列表private List<String> getPkgList() {List<String> packages = new ArrayList<String>();try {//使用命令行方式获取包列表Process p = Runtime.getRuntime().exec("pm list packages");//取得命令行输出内容写入流InputStreamReader isr = new InputStreamReader(p.getInputStream(), "utf-8");//读取流BufferedReader br = new BufferedReader(isr);//读取行String line = br.readLine();//遍历包列表while (line != null) {line = line.trim();if (line.length() > 8) {String prefix = line.substring(0, 8);if (prefix.equalsIgnoreCase("package:")) {line = line.substring(8).trim();if (!TextUtils.isEmpty(line)) {//添加到列表packages.add(line);}}}line = br.readLine();//读取下一行}br.close();//关闭流p.destroy();//消毁进程} catch (Throwable t) {System.out.println("读取包列表出错");}return packages;//返回包列表}
    //使用系统API获取安装包列表private List<String> getPkgListWithSysApi() {List<String> packages = new ArrayList<String>();try {//取包信息列表List<PackageInfo> packageInfos = this.getApplicationContext().getPackageManager().getInstalledPackages(PackageManager.GET_ACTIVITIES | PackageManager.GET_SERVICES);//遍历包列表for (PackageInfo info : packageInfos) {//取包名String pkg = info.packageName;//添加到列表packages.add(pkg);}} catch (Throwable t) {t.printStackTrace();;}return packages;}

 

调用:

 StringBuilder sb = new StringBuilder();//遍历包列表中包名for (String v:getPkgList()) {System.out.println("包名:"+v);sb.append("包名:"+v+"\n");//添加包名到字符串}tv.setText(sb.toString());//显示到文本控件中

显示 :

 

http://www.lryc.cn/news/138050.html

相关文章:

  • 【校招VIP】有一个比赛获奖项目和参与的开源小项目,秋招项目竞争力够不够?三个标准,自己都可以估算
  • 量化开发学习入门-概念篇
  • 【草稿】关于文本句子分割(中文+英文)以及向量处理
  • 【瑞吉外卖】所遇问题及解决方法
  • 【Hugo入门】基础用法
  • Java实现一个简单的图书管理系统(内有源码)
  • 网络安全等级保护2.0
  • 【sql】MongoDB 增删改查 高级用法
  • 怎么做才能有效更新和优化产品手册文档
  • #P0867. 小武老师的烤全羊
  • 视频汇聚/视频云存储/视频监控管理平台EasyCVR提升网络稳定小tips来啦!
  • C 语言学习
  • TCP网络连接异常情况的处理
  • 单片机之从C语言基础到专家编程 - 4 C语言基础 - 4.10语句
  • Windows 通过服务名称搜索软件启动路径启动软件
  • 如何更高效的写出更健全的代码,一篇文章教会你如何拥有一个良好的代码风格
  • Java如何调用接口API并返回数据(两种方法)
  • 极狐GitLab 价值流管理之「总时间图」使用指南
  • Mybatis入门和环境搭建
  • React 全栈体系(二)
  • 【Linux】socket编程(二)
  • 七大出海赛道解读,亚马逊云科技为行业客户量身打造解决方案
  • 【Maven教程】(三)基础使用篇:入门使用指南——POM编写、业务代码、测试代码、打包与运行、使用Archetype生成项目骨架~
  • Spring Boot + Spring Data JPA 实现数据库操作的标准示例
  • JVM——类加载器
  • async/await 编程理解
  • 1. Java基础知识介绍
  • 基础shell小技巧01
  • 微信小程序--data的赋值与取值的几种方式
  • 条码通讯配置