如何从APK中获取应用程序名称并且未安装

时间:2014-11-18 08:13:30

标签: android

您好我在SD卡的文件夹中有一组apk。那些APK尚未安装在设备中。现在在我的应用程序中,我想列出所有应用程序名称 这是SD卡的那个文件夹。我可以获取包名称但无法找到获取应用程序名称的方法。它总是在NameNotFoundException 异常。

public static String getLabelByPackageName(Context context,
        String packageName) {
    PackageManager packMan = null;
    try {
        ApplicationInfo applicationInfo = context.getPackageManager()
                .getApplicationInfo(packageName, 0);
        packMan = context.getPackageManager();
        return packMan.getApplicationLabel(applicationInfo).toString();
    } catch (NameNotFoundException e) {
        return "Name Not Found";
    }
}

1 个答案:

答案 0 :(得分:0)

如果未安装apk文件,则无法使用PackageManager获取它们,您必须像处理SD卡上的任何其他文件一样处理它们。

试试这个。

 File dir=new File(Environment.getExternalStorageDirectory()+"/path to folder with apk files");

//dir.listFiles() returns an array with all the files in your directory
    //loop through and get all file names in the directory


    for(File f : dir.listFiles())
            if(f.getName().contains(".apk"))
    //this is an apk file do something