android获取app的版本信息

 
public static int getCurrentVersionCode(Context context) {
        PackageManager packageManager = context.getPackageManager();
        try {
            PackageInfo packInfo = packageManager.getPackageInfo(
                    context.getPackageName(), 0);
            //packInfo.versionName版本名称
            return packInfo.versionCode;
        } catch (PackageManager.NameNotFoundException e) {
            e.printStackTrace();
        }
        return -1;
    }

     /**
     * 获取渠道名
     *
     * @param context 此处习惯性的设置为activity,实际上context就可以
     * @return 如果没有获取成功,那么返回值为空
     */
    public static String getChannelName(Context context) {
        String channelName = null;
        if (context != null) {
            try {
                PackageManager packageManager = context.getPackageManager();
                if (packageManager != null) {
                    //注意此处为ApplicationInfo 而不是 ActivityInfo,
                    // 因为友盟设置的meta-data是在application标签中,而不是某activity标签中,
                    // 所以用ApplicationInfo
                    ApplicationInfo applicationInfo = packageManager.
                            getApplicationInfo(context.getPackageName(),
                                    PackageManager.GET_META_DATA);
                    if (applicationInfo != null) {
                        Bundle metaData = applicationInfo.metaData;
                        if (metaData != null) {
                            channelName = String.valueOf(metaData.
                                    get("UMENG_CHANNEL"));
                        }
                    }
                }
            } catch (PackageManager.NameNotFoundException e) {
                e.printStackTrace();
            }
        }
        return channelName;
    }





版权声明:本文为zxwd2015原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。