如何在android 中获取本机其他app的版本信息
短信预约 -IT技能 免费直播动态提醒
如何在android 中获取本机其他app的版本信息?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
先建一个实体类,用来存放app信息。
package com.zznode.bean;import android.graphics.drawable.Drawable;import android.util.Log;public class AppInfo { public String appName = ""; public String packageName = ""; public String versionName = ""; public int versionCode = 0; public Drawable appIcon = null; public void print(){ Log.v("app","Name:"+appName+" Package:"+packageName); Log.v("app","Name:"+appName+" versionName:"+versionName); Log.v("app","Name:"+appName+" versionCode:"+versionCode); }}
下面是我写的一个方法,可以选择获取手机安装的所有app的信息,你也可以单独选择获取单独系统应用的信息,或者是非系统应用的信息。
public List<AppInfo> getAppInfo(int sign) { List<AppInfo> appList = new ArrayList<AppInfo>(); //用来存储获取的应用信息数据 List<PackageInfo> packages = getPackageManager().getInstalledPackages(0); for (int i = 0; i < packages.size(); i++) { PackageInfo packageInfo = packages.get(i); AppInfo tmpInfo = new AppInfo(); tmpInfo.appName = packageInfo.applicationInfo.loadLabel(getPackageManager()).toString(); tmpInfo.packageName = packageInfo.packageName; tmpInfo.versionName = packageInfo.versionName; tmpInfo.versionCode = packageInfo.versionCode; tmpInfo.appIcon = packageInfo.applicationInfo.loadIcon(getPackageManager()); if (sign == 1) {//全手机全部应用 appList.add(tmpInfo); } else if (sign == 2) { if ((packageInfo.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) == 0) { appList.add(tmpInfo);//如果非系统应用,则添加至appList } } else if (sign == 3) { if ((packageInfo.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0) { appList.add(tmpInfo);//如果非系统应用,则添加至appList } } } return appList; }
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注编程网行业资讯频道,感谢您对编程网的支持。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341