博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android获取手机应用信息
阅读量:5933 次
发布时间:2019-06-19

本文共 2397 字,大约阅读时间需要 7 分钟。

通过应用名获取包名

/** * 通过应用名获取包名 * * @param name 应用名 * @return 包名 */public static String getPackageNameByAppName(Context context, @NonNull String name) {    try {        if (TextUtils.isEmpty(name)) {            return null;        }        // 获取到包的管理者        PackageManager packageManager = context.getPackageManager();        // 获取所有的安装程序        List
installedPackages = packageManager.getInstalledPackages(0); // 遍历获取到每个应用程序的信息 for (PackageInfo packageInfo : installedPackages) { // 获取程序名 String appName = packageInfo.applicationInfo.loadLabel(packageManager).toString(); if (name.equals(appName)) { return packageInfo.packageName; } } return null; } catch (Exception e) { e.printStackTrace(); return null; }}

获取手机中的所有应用的信息

/** * 获取手机中的所有应用的信息 * @param context context */public void getInstalledApplications(Context context) {    // 获取到包的管理者    PackageManager packageManager = context.getPackageManager();    // 获取所有的安装程序    List
installedPackages = packageManager.getInstalledPackages(0); // 遍历获取到每个应用程序的信息 for (PackageInfo packageInfo : installedPackages) { // 获取到程序的包名 String packageName = packageInfo.packageName; // 获取到版本号 String versionName = packageInfo.versionName; ApplicationInfo applicationInfo = packageInfo.applicationInfo; // 获取程序名 String appName = applicationInfo.loadLabel(packageManager).toString(); // 获取到程序图标 Drawable icon = applicationInfo.loadIcon(packageManager); // 获取程序的所有标签 用来获取 以下信息 int flags = applicationInfo.flags; // 判断是不是用户程序 if ((flags & ApplicationInfo.FLAG_SYSTEM) == ApplicationInfo.FLAG_SYSTEM) { // 系统程序 } else { // 用户程序 } // 判断是不是安装在哪 if ((flags & ApplicationInfo.FLAG_EXTERNAL_STORAGE) == ApplicationInfo.FLAG_EXTERNAL_STORAGE) { // 内存卡 } else { // 手机内存 } }}

启动App

/** * 启动app * * @param context        context * @param appPackageName 应用包名 */public static void startAPP(Context context, String appPackageName) {    try {        Intent intent = context.getPackageManager().getLaunchIntentForPackage(appPackageName);        context.startActivity(intent);    } catch (Exception e) {        ToastUtil.showDebugToast(context, "没有安装");    }}

转载地址:http://wrjtx.baihongyu.com/

你可能感兴趣的文章
[MetalKit]11-Ray-tracing-in-a-Swift-playground2射线追踪2
查看>>
蚂蚁金服面试经历-临场发挥
查看>>
消息总线系统高级技术要点深度认知-kafka 商业环境实战
查看>>
Spring Cloud 入门教程 - 搭建配置中心服务
查看>>
46. Permutations
查看>>
为提升应用品质助力,绿标2.0检测项技术详解
查看>>
React as a UI Runtime(五、列表)
查看>>
数据库索引融会贯通
查看>>
五分钟用vue实现一个五星打分效果
查看>>
RocketMQ生产者消息篇
查看>>
第十三课时:递归组件的使用
查看>>
22. Generate Parentheses
查看>>
尝试 Docker + Nginx 部署单页应用
查看>>
30秒的PHP代码片段(3)字符串-String & 函数-Function
查看>>
图片懒加载通俗易懂
查看>>
VuePress 静态网站生成
查看>>
自建网盘教程之:使用可道云搭建私有云网盘,无需数据库
查看>>
又一轮子?Typescript+React+Redux,放弃saga,支持服务器渲染同构
查看>>
[译]go错误处理
查看>>
【前端基础进阶】JS原型、原型链、对象详解
查看>>