获取手机中所有安装的程序

Android 获取手机安装的应用程序【详解】 在 Android 开发中,有时我们需要获取手机上已安装的应用程序列表,以便进行某些操作,比如检查特定应用是否安装,或者显示已安装应用的详细信息等。Android 提供了一些 API 让我们能够轻松地获取这些信息。本文将详细介绍如何在 Android 中获取已安装的应用程序,包括不同的方法和注意事项。 阅读详情

获取手机中所有安装的程序

  • PackageManger
    包管理者封装了当前应用程序的所有信息,可以通过包管理者拿到当前应用程序的所有信息。
  • PackageInfo
    该类封装了应用程序清单文件中的所有信息。可以通过这个类拿到当前应用程序的版本
/**
 * 返回应用程序的信息
 */
public static List<AppInfo> getAppinfos(Context context){
    PackageManager pm = context.getPackageManager();
    //如果后面想通过PackageInfo拿到每个程序的权限信息,那么这里getInstalledPackages的参数就必须是
    //PackageManager.GET_PERMISSIONS,不然后面通过PackageInfo就无法得到应用程序清单中申请的权限
    List<PackageInfo>  packinfos = pm.getInstalledPackages(PackageManager.GET_PERMISSIONS );
    List<AppInfo> appinfos = new ArrayList<AppInfo>();
    for(PackageInfo info : packinfos){
        AppInfo appInfo = new AppInfo();
        appInfo.setPackname(info.packageName);
        appInfo.setVersion(info.versionName);
        appInfo.setAppName(info.applicationInfo.loadLabel(pm).toString());
        appInfo.setAppIcon(info.applicationInfo.loadIcon(pm));
        if((info.applicationInfo.flags & ApplicationInfo.FLAG_EXTERNAL_STORAGE)==0){//通过这个来判断安装到了手机还是SD卡
            appInfo.setInRom(true);
        }else{
            appInfo.setInRom(false);
        }
        //判断程序是不是系统程序
        if(filterApp(info.applicationInfo)){
            appInfo.setUserApp(true);
        }else{
            appInfo.setUserApp(false);
        }
        //获取到某个应用程序的全部权限信息.
        String[] permissions = info.requestedPermissions;
        if(permissions!=null && permissions.length>0){
            for(String p: permissions){
                if("android.permission.INTERNET".equals(p)){
                    appInfo.setUseNetwork(true);
                }else if("android.permission.ACCESS_FINE_LOCATION".equals(p)){
                    appInfo.setUseGPS(true);
                }else if("android.permission.READ_CONTACTS".equals(p)){
                    appInfo.setUseContact(true);
                }
            }
        }
        appinfos.add(appInfo);
        appInfo = null;
    }
    return appinfos;
}
/**
 * 该方法提供了用于判断一个程序是系统程序还是用户程序的功能。
 * @param info
 * @return true 用户自己安装的软件
 *         fasle  系统软件.
 */
public  static boolean filterApp(ApplicationInfo info) {
    if ((info.flags & ApplicationInfo.FLAG_UPDATED_SYSTEM_APP) != 0) {
        return true;
    } else if ((info.flags & ApplicationInfo.FLAG_SYSTEM) == 0) {
        return true;
    }
    return false;
}

  • 邮箱 :charon.chui@gmail.com
  • Good Luck!
zemax混合式非序列模拟 注意不要点击左侧的非序列模式,那个时纯粹的非序列,会清除序列模式的数据。第2、4、6透镜材质为空气,是为了让光线进入到多重透镜内部。这时普通的优化方式会失败。平行光束经过多焦透镜时,会汇聚在不同焦距处。所以还需要控制能量的大小,进行优化。接下来用非序列模式设计一个多焦透镜。像面的孔径为圆形通光孔:0-1.2。透镜不同位置处有不同的聚焦位置。透镜的z轴位置相同,重合。 阅读详情

相关推荐

地理空间坐标系统-不同椭球基准间的坐标转换

基于同一个椭球基准,可以构建三类地理空间坐标系:大地球面坐标系、大地空间直角坐标系、大地投影坐标系。由于坐标原点和椭球长短半径等都相同,这三类坐标系之间可以通过无损的数学方法相互之间进行转换。那么现在问题来了,不同椭球基准(在全球范围来看存在成百上千的椭球基准)之间的坐标怎么转换?比如,北京54、西安80、国家2000,特别是在我国,现在主推国家2000坐标系,那么如何将历史的测绘成果(北京54和...

技术改变世界 8336

移动端判断手机是否安装某款app并打开

移动端判断手机是否安装某款app

qq_41241767的博客 647

Redis TLS 加密传输实战:从证书生成到安全配置

本文详细介绍了为Redis启用TLS加密传输的完整实战流程。从阐述TLS加密的必要性开始,逐步指导读者生成自签名CA和服务器证书,并深入解析Redis服务端的核心安全配置,包括端口设置、认证模式与性能优化。最后,提供了主流客户端连接示例及生产环境下的排错与运维最佳实践,帮助构建安全的Redis通信通道。

weixin_29274969的博客 518

Android上获取本机安装的应用程序

在google上输入以上的关键字+ android,可以搜到的代码: view sourceprint? 1 List&lt;PackageInfo&gt; packs = getPackageManager().getInstalledPackages(0); 虽然,有些代码号称可以过滤掉系统自身的应用程序,但是只要细看代码就会发现...

dengbaoleng 468

3D IC中Memory-on-Logic堆叠测试的DFT解决方案与工程实践

在半导体行业,随着摩尔定律逼近物理极限,3D IC技术通过芯片垂直堆叠实现性能提升和异构集成,已成为重要发展方向。其核心原理是利用硅通孔(TSV)或微凸块实现芯片间电气互连,将多个不同功能的芯片(如逻辑芯片与存储芯片)集成在一个封装内。这项技术的核心价值在于能大幅提升系统性能、降低功耗并实现更小的封装尺寸。然而,芯片堆叠后,传统的测试方法面临巨大挑战,尤其是测试访问存在物理屏障,无法直接探测被覆盖的芯片接口。为此,可测试性设计(DFT)成为确保3D IC可靠性与量产可行性的关键技术。它通过在设计阶段植入专用

weixin_42521058的博客 632

OpenClaw更新后变傻了?一分钟教你快速恢复(OpenClaw更新版本后降智、缺少权限问题的解决方案)

OpenClaw 版本更新后出现降智问题,AI不再执行具体任务。本文详细分析问题原因,提供最简便的解决方案✅

XiaoqiangClub的博客 3889

Android 获取当前 手机/平板 安装程序并将apk文件进行社会化分享

目的:获取当前设备所有安装应用,并将该应用的安装包通过社会化分享 分享到其他地方! 解决问题:在应用安装完成之后,系统会自动或者半自动的将安装包进行清除,当想用这个apk文件的时候反而就找不到了,就得重新网络下载,通过此功能可以解决此一部分的问题,功能就是这么功能,具体功能使用怎么延伸就看各自的需求了。 结果演示: ...

丿灬 红尘醉的博客 1948

UG\NX二次开发 获取对象的引用集

获取对象的引用集,一个对象可能有多个引用集,下面这个封装函数可以获取对象的所有引用集。

王牌飞行员_里海的博客 490

手机android安装程序,【android学习】获取手机已安装程序

首先用来获取手机的内存剩余空间,以及SD的剩余空间。机械硬盘的内存=一个扇片大小×总的扇片个数。SDCard可用空间 =一个扇片大小×SDCard剩余的扇片个数/*** 获取某个目录的可用空间* @param path* @return*/private long getAvialSpace(String path){//String path = Environment.getExternal...

weixin_35767338的博客 157

【原理图PCB专题】Cadence 17.4版本导出excel版本坐标文件

Cadence 17.4版本导出坐标文件往往都是txt格式,并且无标题、导出时间、导出设计工程多名称等信息。那么怎么样才能导出有带这些信息的excel版本并格式好看的坐标文件呢?

一点硬件 2765

LoRA 完整解析:从理论到实践

LoRA(低秩适应)是一种高效的大模型微调方法,通过添加少量可训练参数(低秩矩阵)来适配新任务,避免全参数微调的高成本。其核心是将权重更新ΔW分解为两个小矩阵B×A的乘积,大幅减少训练参数量(仅0.1-1%)。LoRA基于内在维度假设,通过低秩约束捕捉核心任务信息,兼具效率与效果。实际应用中,常用配置为秩r=16-32,目标模块选择注意力层的q_proj和v_proj,学习率比全参数微调大10倍(约1e-4)。优势包括参数高效(内存降低60-80%)、多任务适配灵活、保留预训练知识等,已成为大模型微调的主流

echo的博客 1416

java获取手机安装app_Android之——获取手机安装的应用程序

前几篇有关Android的博文中。向大家介绍了几个项目中经常使用的有用功能。那么在这篇博文中。我将向大家介绍怎样获取Android手机中已经安装的手机应用程序,有用过金山手机卫士或者360手机卫士的童鞋都知道。这些软件都能够获取到当前手机中安装的应用程序。那么,这些功能是怎样实现的呢?就让我们一起来看看这些功能详细是怎样实现的吧。一、原理原理非常easy,我们通过Android中提供的Packag...

weixin_36117191的博客 620

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Android之——获取手机安装的应用程序

转载请注明出处:http://blog.youkuaiyun.com/l1028386804/article/details/47114331 前几篇有关Android的博文中。向大家介绍了几个项目中经常使用的有用功能。那么在这篇博文中。我将向大家介绍怎样获取Android手机中已经安装的手机应用程序,有用过金山手机卫士或者360手机卫士的童鞋都知道。这些软件都能够获取到当前手机中安装的...

aodiyi6351的博客 353

贝叶斯统计 [韦来生编]

贝叶斯(Bayes)统计是近几十年来迅速发展起来的数理统计的一个重要分支。贝叶斯方法与经典统计方法的主要不同之处是进行统计推断时除了利用样本信息外,还要利用参数的先验信息,因此可以提高统计推断或统计决策的效果。它在经济、金融、生物、医学、自然科学和社会科学等许多领域具有广泛的应用。贝叶斯方法的研究已渗透到了统计学的几乎所有领域。作者在给中国科学技术大学概率论与数理统计专业本科生开设的“数理统计”课程中有一章专门讲授“贝叶斯方法和统计决策理论”,近十年来也给中国科学技术大学概率统计专业研究生开设过几次“贝叶斯分析”课。本书是在对过去讲稿的内容作了适当的增减和调整的基础上完成的。  本书共分六章。第1章是绪论,介绍了贝叶斯统计的若干基本概念,同时对必要的数理统计的基础知识有重点地作了回顾。第二章介绍了确定先验分布的若干可供选择的方法。第三章介绍了几类常见统计模型参数的后验分布的主要结果和计算方法。第四章和第五章分别介绍了“贝叶斯统计推断”和“贝叶斯统计决策”的内容。第六章介绍了贝叶斯统计计算的若干方法,包括蒙特卡洛方法和马尔可夫链蒙特卡洛(MCMC)方法以及相关统计软件的简介。本书的每一章附右大量的例题和习题,书末附有常用的几个表格和部分习题解答供读者查用。  大约可在54学时内讲授本书的第1章至第六章的主要内容,教师可根据学时需要选讲本书第1章至第六章的部分内容。书中标“*”号的章节可略去不讲,留给读者作为阅读材料。第六章例题中的R代码和部分例题的数据文件等可从作者个人主页下载。  作者在编写本书的过程中参考了J.O.Berger教授的《统计决策论及贝叶斯分析》和茆诗松教授编写的《贝叶斯统计》等书中的一些内容,以及《贝叶斯分析》一书中由张伟平博士编写的有关贝叶斯统计计算的一些内容。在此表示衷心感谢。  本书编写准备过程中,中国科学技术大学统计与金融系的几个研究生帮助完成了本书部分中文的录入和排版,作者对他们的辛勤工作表示真诚的感谢。高等教育出版社为本书的出版给予了大力支持。在此一并致谢。

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Android-获取手机已经安装的程序-推送好友

从手机中获得已安装的程序或指定程序,推送给好友! package com.example.viper; import java.io.File; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import android.app.

small5e4444的专栏 883

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

【详解】Android获取手机安装的应用程序

在Android开发中,获取手机上已安装的应用程序列表是一个常见的需求,例如用于应用管理、安全检查等场景。在Android开发中,获取设备上安装的所有应用程序是一个常见的需求,比如用于创建应用管理器、安全软件或应用市场等。以下是一个简单的示例代码,展示了如何在Android应用中获取已安装的应用列表,并显示它们的名称和图标。在开发Android应用时,有时我们需要获取设备上已安装的所有应用程序的信息。​方法获取了所有已安装的应用程序列表,并遍历每个应用,提取其名称、包名、版本号和版本名称等信息。

牛肉胡辣汤 3614

Android获取手机已安装的应用程序并启动

最近在做项目的时候,需要获取手机上的应用程序并启动,一个类似桌面软件的应用。1.布局我们使用一个GridView来呈现应用程序这里就不贴代码了,首先来获取已安装的app//扫描手机上的应用是一个耗时操作,所以把它放在一个线程中执行 new Thread(new Runnable() { @Override public void run() {

上辈子作恶多端,这辈子写前端。 3730

获取Android手机已安装应用程序的安装包

手把手教你获取Android手机已安装应用程序的安装包 前言: 某天临时访问了一个网址然后下载了一个APP,过了一段时间想要将这个APP安装在其他手机上面或者是介绍给其他小伙伴安装的时候发现该应用在应用商店里面搜索不到,之前下载的安装包清理掉了,访问的网址也不记得了。不知道大家有没有遇到过这样的情况,今天就给大家分享一下如何提取Android手机已安装应用程序的安装包。 话不多说,直接上教程。 具体操作如下: 第一步:在电脑上面安装夜神模拟器,主要是因为夜神模拟器带有adb.exe,后面敲命令的时

m0_65603019的博客 4055

Android-获取手机已经安装的程序

有时候我们会查询手机里面是否安装了某个程序,或者获取已经安装软件名称的集合。 android这边提供了相应的接口。 [java]view plaincopy finalPackageManagerpackageManager=getActivity().getPackageManager();//获取packagemanager List&lt...

weixin_30556959的博客 132

android获取手机上安装的应用程序,Android中的手机上没有安装应用程序

我是Android的新手,我尝试运行我的Android应用程序,它没有在控制台上给出任何错误,但我在模拟器中打开应用程序我得到一个祝酒消息应用程序没有安装在你的手机上same query.在这个论坛上询问,他们如果您在AndroidManifest.xml中声明了两次MainActivity,我会尝试这样做,但它不会AndroidManifest.xml中package="com.example....

weixin_31040783的博客 142

获取手机安装程序的包列表

1.首先建立一个ListActivity: getPackageInfo.java [code="java"] package cn.com; import java.util.List; import android.app.ListActivity; import android.content.pm.PackageInfo; import android.content...

Envisage123 168

小程序定位苹果手机可以,但是安装手机获取不到定位

1.看定位权限是否开通 2.mp-weixin定位是否配置

~忆缘的博客 1095

60遍历获取手机安装的应用程序的图标、应用名称等信息的方法

通过使用PackageManager的getInstalledPackages得到已经安装程序,通过PackageInfo得到应用程序的包名和图标和应用程序名字: package com.ustc.mobilemanager.engine; import java.util.ArrayList; import java.util.List; import android.content.Co

chenfuduo_loveit的专栏 1049

从”茄子快传”看应用程序如何获取手机已安装程序的apk文件

”茄子快传”是联想开发的一款近距离文件共享软件,它通过wifi-direct(速度飞快,不需要联网)或者普通的网络(速度慢)在不同手机间传递文件。不知为何,它就火了起来,火的也飞快。其中,共享传输已安装程序文件apk这一功能引起了我强烈的兴趣。 我们知道android对每个应用的权限做了很苛刻的控制,每个应用程序有自己的用户id,每个应...

区块链斜杠青年(爱踢门) 9941
上一篇: 获取手机及SD卡可用存储空间
下一篇: 滑动切换Activity(GestureDetector)
CharonChui
博客等级 码龄12年 66粉丝 134原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值