美文网首页
Android之获取AppId

Android之获取AppId

作者: xiesen | 来源:发表于2019-07-16 14:44 被阅读0次

    AppConfig.class

    /**
     * [获取应用程序版本名称信息]
     * @param context
     * @return 当前应用的版本名称
     */
    public static synchronized String getVersionName(Context context) {
        try {
            PackageManager packageManager = context.getPackageManager();
            PackageInfo packageInfo = packageManager.getPackageInfo(
                    context.getPackageName(), 0);
            return packageInfo.versionName;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }
    
    /**
     * 获取app当前的渠道号或application中指定的meta-data
     *
     * @return 如果没有获取成功(没有对应值,或者异常),则返回值为空
     */
    public static String getAppMetaData(Context context, String key) {
        if (context == null || TextUtils.isEmpty(key)) {
            return null;
        }
        String channelNumber = null;
        try {
            PackageManager packageManager = context.getPackageManager();
            if (packageManager != null) {
                ApplicationInfo applicationInfo = packageManager.getApplicationInfo(context.getPackageName(), PackageManager.GET_META_DATA);
                if (applicationInfo != null) {
                    if (applicationInfo.metaData != null) {
                        channelNumber = applicationInfo.metaData.getString(key);
                    }
                }
            }
        } catch (PackageManager.NameNotFoundException e) {
            e.printStackTrace();
        }
        return channelNumber;
    }
    
    注:上面所说的key指的是清单文件中你在注册友盟统计时的"UMENG_CHANNEL"(即getChannelNumber(Context context, String key)方法的第二个参数key传入"UMENG_CHANNEL"),而不是"UMENG_APPKEY",也不是任何一个value值
        <meta-data
            android:name="UMENG_CHANNEL"
            android:value="${UMENG_CHANNEL_VALUE}" />
    /**
     * 在需要的地方调用上述方法
     */
     String channelNumber = AppConfig.getAppMetaData(getBaseContext(), "UMENG_CHANNEL");//获取app当前的渠道号
    

    appId

            String appId = "android_" + AppConfig.getVersionName(MainActivity.this) + "_" + AppConfig.getAppMetaData(MainActivity.this, "UMENG_CHANNEL");
       
    

    相关文章

      网友评论

          本文标题:Android之获取AppId

          本文链接:https://www.haomeiwen.com/subject/gxqtlctx.html