`
mickey_hou
  • 浏览: 247839 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

android手机已安装软件列表-packages List

阅读更多
public ArrayList<PackagesInfo> getInstalledApps(boolean getSysPackages)
    { 
        ArrayList<PackagesInfo> res = new ArrayList<PackagesInfo>();         
        List<PackageInfo> packs = getPackageManager().getInstalledPackages(0); 
        for(int i=0;i<packs.size();i++)
        { 
               PackageInfo p = packs.get(i); 
               if ((!getSysPackages) && (p.versionName == null))
               { 
                      continue ; 
               }     
               PackagesInfo info = new PackagesInfo(); 
               info.setAppname(p.applicationInfo.loadLabel(getPackageManager()).toString());
               info.setPackgeName(p.packageName);
               info.setVersionCode(p.versionCode);
               info.setVersionName(p.versionName);
               info.setIcon(p.applicationInfo.loadIcon(getPackageManager()));
               res.add(info); 
        } 
        return res;  
  }


mocel:  PackagesInfo

    private String packgeName;
   
    private String versionName;
   
    private int versionCode;
   
    private String appname;
   
    private Drawable icon;



/**
     * 获取安装程序列表
     */
    public ArrayList<PackagesInfo> getInstalledApps(Context context,boolean getSysPackages)
    { 
        ArrayList<PackagesInfo> packages = new ArrayList<PackagesInfo>();         
        List<PackageInfo> packs = context.getPackageManager().getInstalledPackages(0); 
        for(int i = 0; i < packs.size(); i++)
        { 
               PackageInfo p = packs.get(i); 
               if ((!getSysPackages) && (p.versionName == null))
               { 
                      continue ; 
               }     
               PackagesInfo info = new PackagesInfo(); 
               info.setAppname(p.applicationInfo.loadLabel(context.getPackageManager()).toString());
               info.setPackgeName(p.packageName);
               info.setVersionCode(p.versionCode);
               info.setVersionName(p.versionName);
               info.setIcon(p.applicationInfo.loadIcon(context.getPackageManager()));
               packages.add(info); 
        } 
        return packages;  
  }

本应用中打开其他的程序
一、使用Intent的setComponent方法
Intent intent = new Intent();
intent.setComponent(new ComponentName(“包名”, “包名.主类名”));
intent.setAction(Intent.ACTION_VIEW);
startActivity(intent);
二、使用包管理器
Intent intent = new Intent();
intent = getPackageManager().getLaunchIntentForPackage(“包名”);
startActivity(intent);

可以根据(packageInfo.applicationInfo.flags&ApplicationInfo.FLAG_SYSTEM)判断其是不是为0可以判断是不是系统程序
    //显示非系统软件                  if((packageInfo.applicationInfo.flags&ApplicationInfo.FLAG_SYSTEM)==0){ 
                    map.put("img", packageInfo.applicationInfo.loadIcon(getPackageManager()).getCurrent()); 
                    map.put("name", packageInfo.applicationInfo.loadLabel(getPackageManager()).toString()); 
                    map.put("desc", packageInfo.packageName); 
                    listMap.add(map); 
                } 
分享到:
评论

相关推荐

    Android开发之系统信息【4】——获取Android已安装程序列表

    ### Android开发之系统信息【4】——获取Android已安装程序列表 #### 一、概述 在Android开发过程中,有时我们需要获取设备上的一些硬件信息或软件信息。例如,开发者可能会关心设备上的内存状况或是已安装的应用...

    开源项目-termux-termux-packages.zip

    Termux 包含了自己的包管理器,用于安装、更新和管理适用于 Android 系统的 Linux 软件包。Termux-packages-master 文件夹是 Termux 包管理系统的核心,包含了构建和维护这些软件包的所有源代码和脚本。 在 Termux-...

    Android应用源码之Android中禁止某软件的安装-IT计算机-毕业设计.zip

    例如,使用`adb shell`命令行工具,可以修改`/data/system/packages.list`文件来阻止未知来源的应用安装。 2. **BroadcastReceiver**:开发者可能创建了一个BroadcastReceiver监听`ACTION_PACKAGE_ADDED`广播,当有...

    AppManager_Android获取手机里所安装的应用列表.rar

    在Android平台上,获取手机上已安装应用列表是开发者经常需要进行的操作,这有助于实现各种功能,比如应用管理、推荐关联应用或分析用户设备状态。本文将深入探讨如何使用AppManager来实现这一目标,并提供相关代码...

    获取android设备已安装应用信息(包名、图标、应用名)

    从Android 6.0(API级别23)开始,运行时权限管理使得获取已安装应用信息需要`GET_PACKAGES`权限。确保在`AndroidManifest.xml`中声明此权限,并在运行时请求用户授权。 总结来说,获取Android设备已安装应用信息...

    android 获取手机里安装的app信息列表

    在Android系统中,获取手机上已安装应用的信息列表是一项常见的任务,这有助于开发者进行各种功能实现,比如应用管理、统计分析等。以下将详细介绍如何在Android中获取这些信息。 首先,我们需要了解Android提供的...

    android获取手机已安装apk的信息异步操作

    在Android开发中,有时我们需要获取手机上已安装的APK应用信息,这可能涉及到应用的元数据、权限、版本信息等。本示例将详细解释如何实现这一功能,并通过异步加载来避免阻塞主线程,提升用户体验。下面我们将深入...

    AndroidLib-Samples-VB-master.zip_SRU_adb_android_vb for android

    process.StartInfo.Arguments = "shell pm list packages" '要执行的ADB命令 process.StartInfo.UseShellExecute = False process.StartInfo.RedirectStandardOutput = True process.Start() Dim output As String =...

    新版Android开发教程.rar

    这一联盟将会支持 Google 发布的 Android 手机操作系统或者应用软件,共同开发名为 Android 的 开 放源代码的移动系统。开放手机联盟包括手机制造商、手机芯片厂商和移动运营商几类。目前,联盟成员 数 量已经达到了...

    Android代码-opensuse-obs-client-android

    openSUSE Build Service Android Client Introduction Early pre-alpha, mostly infrastructure. You can setup your credentials, and see the distribution list, all projects and request related to you. ...

    Android获取已安装的apk信息

    在Android系统中,获取已安装应用的信息是一项常见的需求,这对于开发者进行系统分析、管理或调试应用都至关重要。本文将详细讲解如何通过编程方式获取Android设备上已安装的apk信息,包括应用图标、应用名称、工程...

    Android 获取手机所有已安装的应用,并可以打开它

    在Android平台上,获取手机上所有已安装应用以及能够打开它们是一项常见的需求,这通常涉及到系统权限的申请、应用信息的查询以及Intent的使用。本文将详细介绍如何实现这一功能。 首先,我们需要在AndroidManifest...

    Android中获取应用程序列表信息

    然后,你可以调用`getInstalledPackages()`方法,它会返回一个`PackageInfo`对象的列表,包含了所有已安装应用的信息: ```java List&lt;PackageInfo&gt; packages = packageManager.getInstalledPackages(PackageManager...

    获取手机安装的所有应用列表

    在Android系统中,获取手机上安装的所有应用列表是一项常见的任务,尤其对于开发者来说,了解如何操作至关重要。在Android SDK中,`PackageManager`类是实现这一功能的关键。它提供了丰富的接口来管理设备上的应用...

    android获取已安装应用的信息

    在Android系统中,获取已安装应用的信息是一项常见的需求,例如,你可能想要列出手机上所有应用的名称、图标、版本信息等。这个过程涉及到对Android的Content Resolver和Package Manager服务的使用。接下来,我们将...

    android批量安装卸载软件,查看包名

    首先,你需要获取应用的包名,这可以通过`adb shell pm list packages`命令列出所有已安装应用的包名。然后,选择需要卸载的应用包名,执行以下命令: 1. 在命令行中输入: ``` adb uninstall ``` 将`...

    android获得已安装程序的基本信息

    在Android系统中,获取已安装应用程序的基本信息是开发者经常需要进行的操作,这有助于了解设备上有哪些应用以及它们的元数据。以下将详细讲解如何获取这些信息,包括应用程序的Activity和服务等核心组件。 首先,...

    Android 获取已安装应用

    在Android开发中,获取已安装应用的信息是一项常见的需求,它可以帮助我们实现自定义的应用列表、应用管理等功能。本文将深入探讨如何实现这个功能,主要利用Android的ContentResolver和PackageManager两个核心组件...

    Android禁止某些软件的安装

    在Android系统中,开发者可以利用系统的广播接收器(Broadcast Receiver)机制来监听并响应特定的系统事件,例如软件安装事件。这个技术可以帮助我们实现“禁止某些软件的安装”这一目标。下面将详细介绍如何通过...

Global site tag (gtag.js) - Google Analytics