获取所选应用的列表以在另一个应用中打开

时间:2013-06-20 02:44:25

标签: android

我正在尝试创建一个能够在列表视图中显示所选应用的应用。我找到了这个链接How to get a list of installed android applications and pick one to run,但它只显示了设备上安装的所有应用。 我要展示的就是我在设备上安装的所有应用程序。所以我想知道我是否可以使用包名称或应用程序名称逐个选择它们,然后使用包管理器将其放在列表视图中?

任何想法都将受到赞赏。

1 个答案:

答案 0 :(得分:1)

这是您可以做的,过滤包含您的包名称的包:

    List<PackageInfo> packs = context.getPackageManager() 
            .getInstalledPackages(0); 

    public static final String MY_APP_PATTERN="com.myapps";

    for (int i = 0; i < packs.size(); i++) { 
        PackageInfo packageInfo = packs.get(i); 
        if (((packs.get(i).applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) == 1)) { 
            continue; 
        } 

       if(packageInfo.packageName.contains(MY_APP_PATTERN)){
           Lod.d(DEBUG_TAG,"This package belongs to me: "+packageInfo.packageName)

           packageInfo.applicationInfo.loadLabel( 
                context.getPackageManager()).toString(); 
           packageInfo.packageName; 
           packageInfo.versionCode; 
           packageInfo.applicationInfo.loadIcon(context 
                .getPackageManager())
       }
    } 

您也可以使用自己的模式匹配器来过滤。