当前位置: 移动技术网 > 移动技术>移动开发>Android > android 获取本机其他app的版本信息的示例代码

android 获取本机其他app的版本信息的示例代码

2019年07月24日  | 移动技术网移动技术  | 我要评论

我们公司过一个测速的插件,我需要去被另一个app升级,这里就会有一个问题,就是如何去获取本机其他app的版本信息呢,后面我会写一篇app自动升级的文章。

我们先建一个实体类,用来存放app信息。

package com.zznode.bean;

import android.graphics.drawable.drawable;
import android.util.log;

/**
 * created by 杰梵 on 2017/9/25.
 * 用来存取app的信息。
 */

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的信息,你也可以单独选择获取单独系统应用的信息,或者是非系统应用的信息。

/**
   *
   * @param sign 1、本机全部app的信息 2、系统应用的信息 3、非系统应用的信息
   * @return 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;
  }

你可以获取本手机所有的app信息,就拿到自己想要的app信息啦。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持移动技术网。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网