代码获取渠道名
来源:互联网 发布:出名的网络暴力事件 编辑:程序博客网 时间:2024/05/14 02:32
/** * 获取application中指定的meta-data 调用方法时key就是UMENG_CHANNEL * @return 如果没有获取成功(没有对应值,或者异常),则返回值为空 */ public static String getAppMetaData(Context ctx, String key) { if (ctx == null || TextUtils.isEmpty(key)) { return null; } String resultData = null; try { PackageManager packageManager = ctx.getPackageManager(); if (packageManager != null) { ApplicationInfo applicationInfo = packageManager.getApplicationInfo(ctx.getPackageName(), PackageManager.GET_META_DATA); if (applicationInfo != null) { if (applicationInfo.metaData != null) { resultData = applicationInfo.metaData.getString(key); } } } } catch (PackageManager.NameNotFoundException e) { e.printStackTrace(); } return resultData; }
渠道信息一般在 AndroidManifest.xml中修改以下值:
<meta-data android:name="UMENG_CHANNEL" android:value="wandoujia" />
首先你必须在AndroidManifest.xml中的meta-data修改以下的样子:
<meta-data android:name="UMENG_CHANNEL" android:value="${UMENG_CHANNEL_VALUE}" />
其中
可以简化
后来发现上面的重复代码太多,就在网上又发现了一个更简洁的写法productFlavors {wandoujia {}baidu {}c360 {}uc {}productFlavors.all { flavor ->flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]}}其中name的值对相对应各个productFlavors的选项值,这样就达到自动替换渠道值的目的了。这样生成apk时,选择相应的Flavors来生成指定渠道的包就可以了,而且生成的apk会自动帮你加上相应渠道的后缀,非常方便和直观。大家可以自己反编译验证。一次生成所有渠道包在android studio底栏中有个命令行工具Terminal,打开后就CMD可以自动切换到当前项目的目录下。有的项目下会有graldew.bat这个文件,你就可以输入这个命令:gradlew assembleRelease就可以一次性生成所有的渠道包了
阅读全文
0 0
- 代码获取渠道名
- 获取渠道名
- android:获取渠道名
- android获取友盟渠道名
- 友盟多渠道获取渠道名 附赠多渠道打包文件
- android获取友盟渠道名以及获取application中的meta-data
- android获取友盟渠道名以及获取application中的meta-data
- android获取友盟渠道名以及获取application中的meta-data
- android获取友盟渠道名,补充3个注意点
- 安卓获取渠道名渠道id Android获取设备唯一标识的终极解决方法,防止安卓7.0时崩溃问题
- 获取渠道号
- java代码获取当前类类名、方法名
- java代码获取当前类类名、方法名
- 获取当前运行代码的类名,方法名,行号
- 获取当前运行代码的类名,方法名,行号
- 获取当前运行代码的类名,方法名,行号
- 获取androidmanifest中的渠道号
- App获取版本号、渠道号
- java的jdk部署错误问题解决
- POJ 2398 Toy Storage 笔记
- Maven入门之环境安装
- android框架:Retrofit + RxJava2.0 + Lambda
- codeblocks调试:debug版出现错误,release版可以正常运行
- 代码获取渠道名
- [MySQL]Row size too large错误
- 正向代理和nginx的反向代理
- 【0048】SQL数据定义语言--索引
- Linux发展史
- Linux目录结构与Windows对比
- CLI操作的录制和回放
- Linux文件系统和inode
- Kmeans方法Giraph实现V1.1.0