在安卓中,我们看到了快牙、茄子快传等软件的功能的使用。实现端对端的进行传输数据,根据最近的需求了解和检测,并且在网上疯狂的进行搜索了一下。我研究了一下高仿茄子快传的开源代码,发现里面展示应用的列表发现。它不是获取手机已经安装的系统应用和用户自己安装的应用进行获取。于是,我找到了一个获取系统自带的应用和安装的应用的文件和文件路径等相关信息。

1、步骤一:创建一个实体类,名字叫做AppInfo,具体请看下列代码:

package com.yoyoyt.encrypt.packagelist;import android.graphics.drawable.Drawable;/*** 作者:刘净辉* 日期:2017/6/8 11:21*/public class AppInfo {//应用图标private Drawable icon;//应用的名字private String appName;//应用程序的大小private String apkSize;//表示用户程序private boolean isUserApp;//存储的位置.private boolean isSD;private String packageName;public String getPackageName() {return packageName;}public void setPackageName(String packageName) {this.packageName = packageName;}public Drawable getIcon() {return icon;}public void setIcon(Drawable icon) {this.icon = icon;}public String getAppName() {return appName;}public void setAppName(String appName) {this.appName = appName;}public String getApkSize() {return apkSize;}public void setApkSize(String apkSize) {this.apkSize = apkSize;}public boolean isUserApp() {return isUserApp;}public void setUserApp(boolean isUserApp) {this.isUserApp = isUserApp;}public boolean isSD() {return isSD;}public void setSD(boolean isSD) {this.isSD = isSD;}@Overridepublic String toString() {return "AppInfo{" +"appName='" + appName + '\'' +", apkSize='" + apkSize + '\'' +", isUserApp=" + isUserApp +", isSD=" + isSD +'}';}
}

2、步骤二:我们创建一个工具类,名字叫做AppInfoParser,详细操作请看如下代码:

package com.yoyoyt.encrypt.packagelist;import android.content.Context;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.graphics.drawable.Drawable;
import android.text.format.Formatter;import java.io.File;
import java.util.ArrayList;
import java.util.List;/*** 作者:刘净辉* 日期:2017/6/8 11:20*/public class AppInfoParser {private static String tag = "AppInfoParser";public static List<AppInfo> getAppInfos(Context context){//首先获取到包的管理者PackageManager packageManager = context.getPackageManager();//获取到所有的安装包List<PackageInfo> installedPackages = packageManager.getInstalledPackages(0);ArrayList<AppInfo> appInfos = new ArrayList<>();for (PackageInfo installedPackage : installedPackages) {AppInfo appInfo = new AppInfo();//程序包名String packageName = installedPackage.packageName;appInfo.setPackageName(packageName);//获取到图标Drawable icon = installedPackage.applicationInfo.loadIcon(packageManager);appInfo.setIcon(icon);//获取到应用的名字String appName = installedPackage.applicationInfo.loadLabel(packageManager).toString();appInfo.setAppName(appName);//获取到安装包的路径String sourceDir = installedPackage.applicationInfo.sourceDir;File file = new File(sourceDir);//获取到安装apk的大小long apkSize = file.length();//格式化apk的大小appInfo.setApkSize(Formatter.formatFileSize(context,apkSize));int flags = installedPackage.applicationInfo.flags;//判断当前是否是系统appif((flags & ApplicationInfo.FLAG_SYSTEM) !=0){//那么就是系统appappInfo.setUserApp(false);}else{//那么就是用户appappInfo.setUserApp(true);}if((flags & ApplicationInfo.FLAG_EXTERNAL_STORAGE)!=0){//那么当前安装的就是sd卡appInfo.setSD(true);}else{//那么就是手机内存appInfo.setSD(false);}appInfos.add(appInfo);}return appInfos;}
}

3、就这样,我们已经获取到了应用的相关信息,最后,展示的代码就不贴了。

Android中高仿快牙实现Socket列表的展示,获取安卓手机系统安装的应用和自己安装的应用相关信息相关推荐

  1. android 获取当前输入法,关于获取安卓手机系统输入法和设置输入法

    关于获取安卓手机系统输入法和设置输入法 获取输入法列表 adb shell ime list -s 出来下面的 io.appium.android.ime/.UnicodeIME com.sec.an ...

  2. android高仿微信聊天消息列表自由复制文字,双击查看文本内容

    SelectTextHelper-高仿微信聊天消息列表自由复制文字,双击查看文本内容 掘金地址 github地址 SelectTextHelper打造一个全网最逼近微信聊天消息自由复制,双击查看文本内 ...

  3. android 最新usb驱动程序下载,安卓手机USB驱动官方下载、安装教程

    如果您想要成功地将安卓手机连接到电脑端进行文件传输.手机ROOT,或者更新手机固件.就不得不需要一个合适的USB驱动.为了方便大家,我们特意收集并整理了比较大众的安卓手机机型USB驱动的下载链接(所有 ...

  4. android 启动3d加速,内置显卡 六款支持3D加速安卓手机推荐

    [PConline 海选导购]科技发达的今天,3D早已深入我们的生活.游戏玩家都喜欢自己电脑的3D功能强大,可以玩大型3D游戏.随着手机与平板电脑的硬件不断升级,掌上终端设备的性能越来越强大,部分手机 ...

  5. android iphone 同步通讯录,Apple ID 能同步 iPhone 和安卓手机通讯录吗?| 有轻功 #213...

    原标题:Apple ID 能同步 iPhone 和安卓手机通讯录吗?| 有轻功 #213 可以 换了新手机的兴奋感还没过去,数据同步的困扰就接踵而来. 我至今还记得以前总是不小心把联系人保存到本地(应 ...

  6. Android之仿B612咔叽滤镜列表操作

    本文主要记录模仿B612咔叽 6.2.0 版本里的滤镜操作 B612咔叽 6.2.0 版本里的滤镜的操作特点- 长按某一个滤镜收藏(点击应用这个是肯定的) - 收藏后列表最左边出现红色的竖条块,点击可 ...

  7. Android 高仿QQ 好友分组列表

    实现的效果如下: 用ExpandableListView实现, 先看Activity的代码: public class BuddyActivity extends Activity {Expandab ...

  8. android 高仿拼多多,Android高仿拼多多分类列表

    package com.zkteam.discover.fresco; import android.content.Context; import android.graphics.Bitmap; ...

  9. Android 实现仿QQ分组实现二级菜单展示

    首先展示下要实现的效果 动态查看请看链接https://recordit.co/GHjVH9WMz6 1.首先要定义item,也就是二级展示的item child_item.xml <?xml ...

最新文章

  1. 简单的VC 操作XML 文件的的方法
  2. python绘制条形图-python3使用matplotlib绘制条形图
  3. 【Python】Pandas中的宝藏函数-transform()
  4. 界面设计方法 (2) — 1. 界面与组件的概念
  5. java 多态 转型
  6. 计算机教室戴尔电脑网络同传,DELL商用台式电脑如何作网络同传
  7. shell 的source指令和.指令
  8. 安卓签名MD5相关说明
  9. arduino mega针脚_Arduino MEGA中文数据手册
  10. 将网页内容保存为PDF
  11. jetbrains DataGrip 1.0注册破解方法
  12. 易图通: 路口三维实景导航面面观
  13. 抬杠APP获Donews“年度最佳运营创意”大奖,跨界营销引瞩目
  14. 论文撰写八大技巧与八大心得,一文读懂
  15. 3.5 国际化与本地化
  16. 计算机基础知识(基础入门小白专属)二
  17. c语言中国象棋ai算法,【中国象棋】AI算法中的棋子价值是怎么衡定的?
  18. 【CRM】浅析奔驰汽车的客户关系管理
  19. 台服dnf的服务器里没有game文件夹,关于雨泪大神的架设教程遇到的各种问题的解决办法...
  20. c语言用链表存储数组 并排序,根据数组中给定的整数序列建立一个单链表,并对单链表进行升序排序,输出排序之后的单链表 求源代码急急急...

热门文章

  1. [IOS开发教程] IOS中用NSJSONSerialization来实现对JSON格式的解析
  2. ssr启动成功 但是连接没网络_笔记本WIFI没了怎么办?
  3. 智能优化算法:人工蜂群算法-附代码
  4. 闳中肆外 博采善择
  5. MYSQL数据分析项目 - 淘宝用户行为分析
  6. 如何选择骨传导耳机、2022不伤耳骨传导耳机推荐
  7. 面试官:如果让你作技术负责人,你会如何从0搭建公司后端技术栈
  8. 超实用数字IC学习资源,来了~~~
  9. 浪潮云说 | 构建个人信息的“金钟罩”
  10. navicat使用代理服务器连接数据库