如何在我的文件管理器中显示apk的图标

Nam*_* Vu 10 icons android apk

我想在listview中显示apk文件的图标.

我怎么能得到apk的图标?

小智 31

    if (file.getPath().endsWith(".apk")) {
        String filePath = file.getPath();
        PackageInfo packageInfo = context.getPackageManager().getPackageArchiveInfo(filePath, PackageManager.GET_ACTIVITIES);
        if(packageInfo != null) {
            ApplicationInfo appInfo = packageInfo.applicationInfo;
            if (Build.VERSION.SDK_INT >= 8) {
                appInfo.sourceDir = filePath;
                appInfo.publicSourceDir = filePath;
            }
            Drawable icon = appInfo.loadIcon(context.getPackageManager());
            bmpIcon = ((BitmapDrawable) icon).getBitmap();
        }
    }
Run Code Online (Sandbox Code Playgroud)

最重要的是 appInfo.publicSourceDir = filePath;

这是一个错误.请参阅http://code.google.com/p/android/issues/detail?id=9151

如果packageInfo != null未正确解析.apk,则进行空检查.