Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/202.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何从SD卡中未安装的APK获取应用程序名称_Android - Fatal编程技术网

Android 如何从SD卡中未安装的APK获取应用程序名称

Android 如何从SD卡中未安装的APK获取应用程序名称,android,Android,你好,我在SD卡的文件夹里有一套apk。设备中尚未安装这些APK。现在在我的应用程序中,我想列出所有的应用程序名 在SD卡的文件夹里。我可以获取包名,但找不到获取应用程序名的方法。它总是出现在NameNotFoundException 例外 public static String getLabelByPackageName(Context context, String packageName) { PackageManager packMan = null;

你好,我在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";
    }
}

如果未安装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 

不确定。但是试一下:
Resources r=p.getResourcesForApplication(p.getApplicationInfo(“pckgname”,0));int id=r.getIdentifier(“pckgname:string/app_name”、“pckgname”、“string”);String app_name=r.getString(id)@MysticMagic不工作。好的,但我如何才能获得应用程序图标?