包管理者

真正的包名在清单文件中而java文件所在的包为类所在的包,可以和主包名不一致

  /* 获得版本号*/
    private int getVersionCode() {
        // 1 获得包管理对象
        PackageManager pm = getPackageManager();
        //2  从对象中获得指定包管理信息
        try {
            PackageInfo pinfo = pm.getPackageInfo(getPackageName(),0);// 0 代表获取基本信息
            //3 获取版本号
            return pinfo.versionCode;

        } catch (PackageManager.NameNotFoundException e) {
            e.printStackTrace();
        }
        return 0;
    }



    /* 获取版本名称*/
    public String getVersionName(){
        // 1 获得包管理对象
        PackageManager pm = getPackageManager();
        //2  从对象中获得指定包管理信息
        try {
            PackageInfo pinfo = pm.getPackageInfo(getPackageName(),0);// 0 代表获取基本信息
            //3 获取版本号
            return pinfo.versionName;

        } catch (PackageManager.NameNotFoundException e) {
            e.printStackTrace();
        }
        return null;
    }



studio的版本信息在build.gradle 文件中:
        versionCode 1             // 版本号
        versionName "1.0"         // 版本名称 一般1.0.0 三个数从后数 越往前代表改动越大

// 服务器端版本号2 本地版本号为1  有必要检测更新

你可能感兴趣的:(包管理者)