`
emowuyi
  • 浏览: 1540612 次
文章分类
社区版块
存档分类
最新评论

Android 获得所有应用程序包

 
阅读更多
推荐方法
1、 <wbr><wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr>//全部程序包</wbr></wbr>
private void queryFilterAppInfo() { <wbr></wbr>
PackageManager pm = this.getPackageManager(); <wbr></wbr>
// 查询所有已经安装的应用程序 <wbr></wbr>
List<ApplicationInfo> listAppcations = pm.getInstalledApplications<wbr>(<span style="word-wrap:normal; word-break:normal; line-height:23.33333396911621px">PackageManager.</span>GET_UNINSTALLED_PACKAGES);//<wbr><span style="word-wrap:normal; word-break:normal; line-height:23.33333396911621px">GET_UNINSTALLED_PACKAGES代表已删除,但还有安装目录的</span></wbr></wbr>

for (ApplicationInfo app : listAppcations) { <wbr></wbr>
AppInfo appInfo = new AppInfo(); <wbr></wbr>
appInfo.setAppLabel((String) app.loadLabel(pm)); <wbr></wbr>
appInfo.setAppIcon(app.loadIcon(pm)); <wbr></wbr>
appInfo.setPkgName(app.packageName);
mlistAppInfo.add(appInfo); <wbr><wbr></wbr></wbr>
} <wbr></wbr>
<wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr>
<wbr><wbr>}<wbr></wbr></wbr></wbr>
<wbr><wbr></wbr></wbr>

2、 <wbr><wbr></wbr></wbr>
<wbr><wbr>// 获得所有系统的</wbr></wbr>
public void querySysAppInfo() { <wbr></wbr>
PackageManager pm = this.getPackageManager();
Intent intent = new Intent(Intent.ACTION_MAIN, null); <wbr></wbr>
intent.addCategory(Intent.CATEGORY_LAUNCHER); <wbr></wbr>
// 通过查询,获得所有ResolveInfo对象. <wbr></wbr>
List<ResolveInfo> resolveInfos = pm.queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY); <wbr></wbr>
<wbr></wbr>
for (ResolveInfo reInfo : resolveInfos) { <wbr></wbr>
String activityName = reInfo.activityInfo.name; // 获得该应用程序的启动Activity的name <wbr></wbr>
String pkgName = reInfo.activityInfo.packageName; // 获得应用程序的包名 <wbr></wbr>
String appLabel = (String) reInfo.loadLabel(pm); // 获得应用程序的Label <wbr></wbr>
Drawable icon = reInfo.loadIcon(pm); // 获得应用程序图标 <wbr></wbr>
System.out.println(appLabel + " activityName---" + activityName <wbr></wbr>
+ " pkgName---" + pkgName);<wbr></wbr>

} <wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr>
<wbr><wbr>}<wbr></wbr></wbr></wbr>

3、 <wbr><wbr>//最简单的方法 <wbr><wbr></wbr></wbr></wbr></wbr>
public <wbr>boolean appIsInstalled(String packageName){</wbr>
try {
PackageManager pm = this.getPackageManager();
pm.getPackageInfo(packageName, PackageManager.GET_ACTIVITIES);
System.out.println("已安装"+packageName);
} catch (NameNotFoundException e) {
System.out.println("没有安装"+packageName);
return false;
}
return true;
}

4、//<wbr>获得所有包信息</wbr>
<wbr><wbr></wbr></wbr>
public void getInstallPackage() {
PackageManager packageManager = this.getPackageManager();
List<PackageInfo> <wbr><wbr><wbr><wbr>packageInfoList=packageManager.getInstalledPackages(0);</wbr></wbr></wbr></wbr>
mlistAppInfo.clear(); <wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr>for (int i=0;i&lt;packageInfoList.size();i++) {<wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr>PackageInfo pi = packageInfoList.get(i);</wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr>System.out.println((i+1)+":"+pi.toString());</wbr></wbr></wbr></wbr></wbr></wbr>
<wbr><wbr><wbr><wbr><wbr><wbr>} <wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
}

5、 <wbr><wbr><wbr><wbr>//直接启动方法</wbr></wbr></wbr></wbr>
public <wbr>void srartApp(String packageName){</wbr>
<wbr><wbr>Intent intent = this.getPackageManager().getLaunchIntentForPackag<wbr>e(packageName);</wbr></wbr></wbr>
<wbr><wbr>if(intent!=null)</wbr></wbr>
<wbr><wbr>//已安装包 直接启动</wbr></wbr>
<wbr><wbr>startActivity(intent);</wbr></wbr>
}
分享到:
评论

相关推荐

    Lazarus开发Android应用程序指南(中文首发版)

    ### Lazarus开发Android应用程序指南知识点详解 #### 环境搭建 **下载安装JDK** - 开发Android应用的首要条件是安装Java开发工具包(JDK),可以从Oracle官网下载,选择合适的版本以匹配开发需求。 **下载安装...

    Android 获取手机所有apk包名

    在Android平台上,获取手机上所有APK包名的需求通常是用于分析设备上安装的应用程序信息,例如统计应用数量、分析特定应用是否存在或者进行批量操作。这个过程涉及到对Android系统的权限访问以及对文件系统的操作。...

    Android应用程序开发宝典-基于TE&OK6410;.pdf

    通过这一步骤,开发者可以获得用于编写应用程序的所有必要组件。 **2-2 安装开发工具,设置开发环境** - **2-2-1 安装ECLIPSE** Eclipse是一款广泛使用的集成开发环境(IDE),尤其适用于Java应用程序的开发。安装...

    88个Android应用程序

    标题 "88个Android应用程序" 暗示了这是一份包含88款不同Android应用的集合,可能是源代码、APK安装包或者是相关的项目案例。Android是谷歌开发的开源移动操作系统,广泛应用于智能手机和平板电脑。这个压缩包可能是...

    Lazarus开发Android应用程序指南

    ### Lazarus开发Android应用程序指南 #### 一、引言 随着移动互联网的快速发展,Android操作系统因其开放性和灵活性而成为智能手机和平板电脑市场的主导者之一。为了满足开发者的需求,多种编程工具和技术应运而生...

    android 获得系统的所有应用

    `PackageManager`是系统用来管理所有应用程序的组件,它提供了获取应用信息、解析包、安装和卸载应用等方法。以下是一个简单的示例代码,用于获取所有应用: ```java PackageManager packageManager = ...

    《Android应用程序开发与典型案例》完整版PDF

    Android应用程序主要由Java或Kotlin编写,通过Android SDK(软件开发工具包)进行开发,并利用Android Studio作为集成开发环境。本书将引导读者了解Android开发的基础知识,包括环境配置、UI设计、数据存储、网络...

    Android十大优秀应用程序

    根据给定的信息,本文将详细介绍“Android十大优秀应用程序”中的几个突出应用,这些应用因其创新性和实用性,在Android平台上获得了广泛的认可。以下是对其中几款应用的深入解析: ### AndroidScan (机器扫描) - ...

    android应用APK打包签名方法文档

    - **Keytool和Jarsigner**:Android使用标准的Java工具Keytool和Jarsigner来生成数字证书,并给应用程序包签名。 - **zipalign优化**:使用zipalign工具对APK文件进行优化,可以减少内存消耗,提高启动速度。 #### ...

    android 应用程序数据共享

    在Android平台上,应用程序之间的数据共享是一项重要的功能,主要通过SQLite数据库和ContentProvider机制来实现。ContentProvider作为Android系统的一部分,允许不同的应用之间安全地访问和交换数据,即使这些数据...

    android应用案例开发大全(第3版)源程序.rar

    《Android应用案例开发大全(第3版)》是Android开发者必备的一本实战指南,它涵盖了Android应用程序设计的各种关键技术和实际应用场景。源程序的压缩包包含了多个章节的示例项目,帮助读者深入理解Android开发的...

    用Eclipse开发Android应用程序[整理].pdf

    Eclipse 开发 Android 应用程序 Android 是一种针对移动平台的开放源码操作系统, Google 引入了 Android,并在短时间内获得了市场的关注。 Android 不仅仅是另一种包含电话、菜单和触摸屏功能的移动平台,而是一种...

    Android 应用程序开发的顶级编程语言

    通过使用各种工具,Python编写的代码可以转换成Android应用程序包。Kivy是一个开源Python库,用于开发移动应用程序,并支持Android平台。使用Kivy的优点是它支持快速的应用程序开发,并允许开发者轻松地在多个平台上...

    《深入浅出Android-Google手持设备应用程序设计.pdf》高清下载

    这一部分讲述了Android平台的推出背景和推广策略,以及开发者如何能够利用这个平台,包括通过Android软件开发工具包(SDK)和相关文档来设计并发布应用程序。 对于初学者来说,入门章节是不可或缺的。它指导读者...

    Android编程下获得应用程序的签名

    在Android平台上,应用程序的签名是安全性和权限管理的重要组成部分。每个Android应用在打包时都需要一个数字签名,这个签名用于验证应用的身份,确保其未被篡改,并且在安装时允许系统进行权限检查。本文将详细讲解...

    Android应用程序请求root权限代码

    首先写入的是`"chmod 777 " + pkgCodePath`,这条命令的作用是修改指定的应用程序包路径下的文件权限为777,即所有用户(包括文件所有者、所属组以及其他用户)都拥有读、写及执行权限。接着执行`"exit"`命令结束...

Global site tag (gtag.js) - Google Analytics