Android获取包名、版本号、包名、meta-data

施自珍
2023-12-01

1、获取application中指定key的meta-data值

    public static String getApplicationMetadata(Context context,String metaDataKey) {
        ApplicationInfo info = null;
        try {
            PackageManager pm = context.getPackageManager();

            info = pm.getApplicationInfo(context.getPackageName(), PackageManager.GET_META_DATA);

            return String.valueOf(info.metaData.get(metaDataKey));
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }

应用场景:在程序打包上线到不同的应用市场时需要给每一个apk设置不同的渠道id,打包后查看log信息是否正确。 
例如:

  <meta-data
            android:name="UMENG_CHANNEL"
            android:value="Offline" />

调用方法:PackageUtils.getApplicationMetadata(App.getInstance() 
.getContext(), "UMENG_CHANNEL")
获取到的结果就Offline 
2、获取包名

  public static String getPackageName(Context context){
        return context.getPackageName();
    }
3、获取版本名称
     public static String getVersionName(Context context){
        try {
            PackageManager manager = context.getPackageManager();
            PackageInfo info = manager.getPackageInfo(context.getPackageName(), 0);
            String version = info.versionName;
            return version;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return "1.0";
    }
4、得到版本号

        public static int getVersionCode(Context context){

        try {
            PackageManager manager = context.getPackageManager();
            PackageInfo info = manager.getPackageInfo(context.getPackageName(), 0);
            int version = info.versionCode;
            return version;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return 1;
    }
 类似资料: