获取SD卡上应用程序的图标

发布于 2024-12-21 20:45:55 字数 436 浏览 2 评论 0原文

您好,我的 SD 上有一个应用程序(未安装,只是存储在那里),如何通过提供应用程序的路径来获取有关它的信息。例如,我的下载文件夹中有 pandora.apk,因此路径是 /sdcard/download/pandora.apk 知道该路径如何获取它的图标。感谢您的帮助,

我尝试过这段代码,但得到了 nullpointerException

final PackageManager pm = context.getPackageManager();
PackageInfo packageInfo = pm.getPackageArchiveInfo("/sdcard/download/pandora.apk", 0);
Drawable icOn = packageInfo.applicationInfo.loadIcon(context.getPackageManager());

Hi I have an application on my sd (not installed just stored there) how can I get information about it by just giving the path to the application. For instance I have pandora.apk sitting in my downloads folder so the path is /sdcard/download/pandora.apk knowing that path how can i get the icon of it. Thanks for any help

I've tried this code but get a nullpointerexception

final PackageManager pm = context.getPackageManager();
PackageInfo packageInfo = pm.getPackageArchiveInfo("/sdcard/download/pandora.apk", 0);
Drawable icOn = packageInfo.applicationInfo.loadIcon(context.getPackageManager());

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

过度放纵 2024-12-28 20:45:55

已经在这里回答了。 如何在我的文件管理器中显示 apk 的图标

if (file.getPath().endsWith(".apk")) {
String filePath = file.getPath();
PackageInfo packageInfo = context.getPackageManager().getPackageArchiveInfo(filePath, PackageManager.GET_ACTIVITIES);
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();
}

Its already answered here. How to show icon of apk in my File manager

if (file.getPath().endsWith(".apk")) {
String filePath = file.getPath();
PackageInfo packageInfo = context.getPackageManager().getPackageArchiveInfo(filePath, PackageManager.GET_ACTIVITIES);
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();
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文