Android获取到手机应用图标并显示在页面上

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android获取到手机应用图标并显示在页面上相关的知识,希望对你有一定的参考价值。

PackageManager pm = getPackageManager(); // 得到PackageManager对象
// List<ApplicationInfo> packs = pm.getInstalledApplications(0); //
// 得到系统安装的所有程序包的PackageInfo对象
List<PackageInfo> packs = pm.getInstalledPackages(0); // 得到用户安装的所有程序包的PackageInfo对象
for (PackageInfo pi : packs)
map = new HashMap<String, Object>();
// 显示用户安装的应用程序,而不显示系统程序
if ((pi.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) == 0
&& (pi.applicationInfo.flags & ApplicationInfo.FLAG_UPDATED_SYSTEM_APP) == 0)
// 这将会显示所有安装的应用程序,不包括系统应用程序
/**
* 获得文件大小 publicSourceDir获得路径,再通过该路径创建一个文件new File(String dir),
* 得到该文件长度除以1024则取得该应用的大小。
* 取得程序大小,通过application的publicSourceDir获得。
* 取得程序时间,通过application的SourceDir获得。
*/
String dir = pi.applicationInfo.publicSourceDir;
int size = Integer.valueOf((int) new File(dir).length());
long date = new Date(new File(dir).lastModified()).getTime();
map.put("appName", pi.applicationInfo.loadLabel(pm));// 应用程序名称
map.put("icon", pi.applicationInfo.loadIcon(pm));// 图标
map.put("versionName", "版本 :" + pi.versionName);// 应用程序版本\
map.put("appSize2", size);// 应用程序大小
map.put("packages", pi.applicationInfo.packageName); // 应用程序包名
map.put("appSize", "大小 :" + ToSzie(size));// 应用程序大小
map.put("appDate", date);// 应用程序时间
items.add(map);



启动 :

String path ="package:"+v.getTag();
Uri packageURI = Uri.parse(path);
Intent uninstallIntent = new Intent(this packageURI);
context.startActivity(uninstallIntent);
以上是以为大神写的,我如果要想显示到页面上的话:

SimpleAdapter adapter = new SimpleAdapter(this, list,
R.layout.my_listitem, new String[] "img", "title", "up",
"down", "total" , new int[] R.id.img, R.id.title,
R.id.up, R.id.down, R.id.total );

listView.setAdapter(adapter);
这个方法可否??可是应用程序的图标并不显示啊!!为啥?请问是哪里出错了?
还有就是上面那位大神所写的“启动”是什么意思啊??

参考技术A 你那几个R.id.img,R.id.up都是些什么啊,pi.applicationInfo.loadIcon(pm)这个拿到图标的drawable然后你显示出来就是了,启动 就是启动这个应用, 参考技术B 楼主的意思是菜单上的应用移到手机界面上???追问

是的,不过问题已解决。

参考技术C LZ能告诉怎么解决的么?正在搞这块 drawable得到了,怎么显示在页面〉?
PS:能告诉一下吧 435159281@qq.com 直接qq也行

以上是关于Android获取到手机应用图标并显示在页面上的主要内容,如果未能解决你的问题,请参考以下文章

Android 在Android手机上获取其他应用的包名及版本号

Android 从点击应用图标到界面显示的过程

vivo手机怎样长按应用显示菜单?

在 Android 中的联系人详细信息上显示应用程序图标

如何提取android手机所有app的icon图标

安卓系统英文的怎么设置中文