博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android 在Android手机上获取其他应用的包名及版本号
阅读量:5134 次
发布时间:2019-06-13

本文共 3218 字,大约阅读时间需要 10 分钟。

获取Android手机上其他应用的包名及版本号方法有很多,可以通过AAPT从APK包中直接获取,也可以通过代码在手机上获取。显然,对于产品或者用户来说要获取这些信息,在手机上获取更为简便。

下面我们来看下如何在手机上获取其他应用的包名、版本号。

核心:通过PackageManager可以获取到我们想要的信息,例如:程序图标、程序名称、包名、VersionName、VersionCode等。

/*     * @Author Sun Ruichuan     * */    public ArrayList
> getItems(Context context) { PackageManager pckMan = context.getPackageManager(); ArrayList
> items = new ArrayList
>(); List
packageInfo = pckMan.getInstalledPackages(0); for (PackageInfo pInfo : packageInfo) { HashMap
item = new HashMap
(); item.put("appimage", pInfo.applicationInfo.loadIcon(pckMan)); item.put("packageName", pInfo.packageName); item.put("versionCode", pInfo.versionCode); item.put("versionName", pInfo.versionName); item.put("appName", pInfo.applicationInfo.loadLabel(pckMan).toString()); items.add(item); } return items; }

在获取到所需要的信息后即可将这些信息放入到自定义的ListAdaptar里。

class MyAdapter extends BaseAdapter {        public class Holder {            TextView tv_pakagename;            TextView tv_versioncode;            TextView tv_versionname;            TextView tv_appname;            ImageView iv_logo;        }        @Override        public int getCount() {            return allProcess.size();        }        @Override        public HashMap
getItem(int position) { return allProcess.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { Holder holder; View v; if (convertView == null) { holder = new Holder(); v = LayoutInflater.from(getApplicationContext()).inflate( R.layout.list_menu, null); holder.tv_pakagename = (TextView) v .findViewById(R.id.tv_pakagename); holder.tv_versioncode = (TextView) v .findViewById(R.id.tv_versioncode); holder.tv_versionname = (TextView) v .findViewById(R.id.tv_versionname); holder.iv_logo = (ImageView) v.findViewById(R.id.iv_logo); holder.tv_appname = (TextView) v.findViewById(R.id.tv_appname); v.setTag(holder); } else { v = convertView; holder = (Holder) v.getTag(); } holder.tv_pakagename.setText("包名:" + allProcess.get(position).get("packageName").toString()); holder.tv_versioncode.setText("VersionCode:" + allProcess.get(position).get("versionCode").toString()); holder.tv_versionname.setText("VersionName:" + allProcess.get(position).get("versionName").toString()); holder.iv_logo.setImageDrawable((Drawable) allProcess.get(position) .get("appimage")); holder.tv_appname.setText("App名称:" + allProcess.get(position).get("appName").toString()); return v; } }

这样就完成了相应的工作。

转载于:https://www.cnblogs.com/zhujiabin/p/7389643.html

你可能感兴趣的文章
SDN第四次作业
查看>>
django迁移数据库错误
查看>>
Data truncation: Out of range value for column 'Quality' at row 1
查看>>
字符串处理
查看>>
HtmlUnitDriver 网页内容动态抓取
查看>>
ad logon hour
查看>>
罗马数字与阿拉伯数字转换
查看>>
Eclipse 反编译之 JadClipse
查看>>
距离公式汇总以及Python实现
查看>>
Linux内核态、用户态简介与IntelCPU特权级别--Ring0-3
查看>>
第23月第24天 git命令 .git-credentials git rm --cached git stash clear
查看>>
java SE :标准输入/输出
查看>>
[ JAVA编程 ] double类型计算精度丢失问题及解决方法
查看>>
好玩的-记最近玩的几个经典ipad ios游戏
查看>>
PyQt5--EventSender
查看>>
Sql Server 中由数字转换为指定长度的字符串
查看>>
tmux的简单快捷键
查看>>
[Swift]LeetCode922.按奇偶排序数组 II | Sort Array By Parity II
查看>>
php match_model的简单使用
查看>>
SIP服务器性能测试工具SIPp使用指导(转)
查看>>