Android中几个实用的PackageUtils小工具

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;
    }
这些信息只是为了检查程序中的设置是否真确不是每次都需要的,所以通常情况下把log信息在进入应用的引导动画所在的activity中打印出来就好了。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。