android 获取渠道信息,Android 如何获取 umeng 的 渠道信息
今天想获取清单文件的中UMENG_CHANNAL 的值但是 Debug 的时候,老是报 null.
一般的方法:
/**
* 获取渠道名
* @param ctx 此处习惯性的设置为activity,实际上context就可以
* @return 如果没有获取成功,那么返回值为空
*/
public static String getChannelName(Activity ctx) {
if (ctx == null) {
return null;
}
String channelName = null;
try {
PackageManager packageManager = ctx.getPackageManager();
if (packageManager != null) {
//注意此处为ApplicationInfo 而不是 ActivityInfo,因为友盟设置的meta-data是在application标签中,而不是某activity标签中,所以用ApplicationInfo
ApplicationInfo applicationInfo = packageManager.getApplicationInfo(ctx.getPackageName(), PackageManager.GET_META_DATA);
if (applicationInfo != null) {
if (applicationInfo.metaData != null) {
channelName = applicationInfo.metaData.getString("");
}
}
}
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
return channelName;
}
抽取之后:
/**
* 获取application中指定的meta-data
* @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;
}
总结:
在 Debug模式下打印不出来渠道的信息! 但是在发布的版本就可以 打印出信息!
总结中的问题: 已经解决了?
思考: 之所以出现这种问题, 是因为 在 Debug 模式下, applicationInfo.metaData.getString() 当出现
android:name="UMENG_CHANNEL" android:value="360" />
的时候, 这样 系统就会 自动的 判断 360 是int型,这个时候只能使用 applicationInfo.metaData.getInt() 方法获取。
解决方案:
这两种方式可以解决, 但是 需要判断 感觉麻烦。
所以 最佳的解决方案:
MyAplication.umeng_channal = applicationInfo.metaData.get()+“”;
android 获取渠道信息,Android 如何获取 umeng 的 渠道信息相关推荐
- android 渠道方案,Android多渠道打包时获取当前渠道的方法
作为Androidapp,发布多个分发平台是常规操作.然后,有时由于个渠道面对的用户不同,或平台审核标准不同,需要在各渠道使用不同的业务逻辑,这就需要根据渠道使用选择差异化代码. 这里把简单的代码记一 ...
- android 渠道索取,Android多渠道打包时获取当前渠道的方法
作为android app,发布多个分发平台是常规操作.然后,有时由于个渠道面对的用户不同,或平台审核标准不同,需要在各渠道使用不同的业务逻辑,这就需要根据渠道使用选择差异化代码. 这里把简单的代码记 ...
- 【IOC 控制反转】Android 事件依赖注入 ( 事件依赖注入具体的操作细节 | 获取 Activity 中的所有方法 | 获取方法上的注解 | 获取注解上的注解 | 通过注解属性获取事件信息 )
文章目录 前言 一.获取 Activity 中的所有方法 二.获取方法上的注解 三.获取注解上的注解 四.通过注解属性获取相关事件信息 前言 Android 依赖注入的核心就是通过反射获取 类 / 方 ...
- Android获取Linux图像信息,Android系统信息获取 之十三:Linux内核版本信息获取
Android系统信息获取 之十三:Linux内核版本信息获取 Android系统是基于Linux的,各个Android版本对应的Linux版本不尽相同,我们这里不去追究各个Android对应的Lin ...
- android中获取应用程序(包)的信息,Android中获取应用程序(包)的信息PackageManager的使用(一).doc...
Android中获取应用程序(包)的信息PackageManager的使用(一) 本节内容是如何获取Android系统中应用程序的信息,主要包括packagename.label.icon.占用大小等 ...
- android源码已关联设备,获取android设备已安装应用信息
本文将介绍如何获取设备中已经安装的应用信息,包括:应用名称.包名.图标等. 获得信息列表后,选择某一项记录还可以启动对应的应用! 1.代码实现 package com.example.showappl ...
- android 多媒体文件信息,Android 获取多媒体信息
在做多媒体应用开发时,往往需要获取到多媒体文件的相关信息. Android 提供了 MediaMetadataRetriever 类来获取输入媒体文件的帧(Frame)和元数据(Meta data). ...
- Android开发,GPS获取实时时间并转为北京时间,定位信息,海拔高度,并进行显示
在转载的基础上增加一些内容,主要是时间的转换所以这里直接先把重点列出来: (GPS时间转为本地时间): @SuppressLint("SimpleDateFormat")priva ...
- Android基站定位——通过手机信号获取基站信息
基站定位原理:通过手机信号获取基站信息,然后调用第三方公开的根据基站信息查找基站的经纬度值,想要具体地址信息的再根据经纬度值获取具体的地址信息. 一.通过手机信号获取基站信息 通过TelephonyM ...
- android 获取当前坐标,Android获取位置信息的方法
本文实例为大家分享了Android获取位置信息的具体代码,供大家参考,具体内容如下 1.位置服务的简介:位置服务,英文翻译为Location-Based Services,缩写为LBS,又称为定位服务 ...
最新文章
- 用友 传入的 json 格式无效_用友网络股吧:被错杀的半导体材料龙头,全年或60%高增长,刚刚走出黄金坑...
- h5+ 获取当前位置 并获取当前天气
- MySQL 数据库中如何将表字段的空值全部替换成空字符串
- PyCharm2019.1.1安装(Ubuntu16.04)
- 荣耀 升级 鸿蒙,荣耀终于放出大招!4部荣耀旗舰可升级鸿蒙,网友:终于等到了...
- wireshark找不到接口_wireshark网络小故障分析定位
- 微信小程序使用webview打开pdf文档及显示网页内容
- 凯立德地图导航2022年懒人包 安卓版
- Android9设备打开WIFI热点,Android9.0Wifi热点开启流程梳理
- 重返月球,铺路火星:2024年首位女性登月,280亿美元开启太空探索新纪元-1
- HFSS(ANSYS Electronics)电路优化两种方法:参数扫描和目标优化
- 智能座舱的交互革命,高算力AI芯片赋能全时全域交互体验
- 2010年用最少的钱玩转张家界
- c216芯片服务器内存,TD-S316E-S
- 混频通信的matlab仿真,基于MATLAB的FHSS通信系统的设计与实现 PPT课件
- 【自然语言处理】主题建模:BERTopic(实战篇)
- 电商导购网站入口战争:存被封杀和边缘化风险
- RISC-V IDE MounRiver Studio V1.51更新点介绍
- 第五届数字中国建设峰会启幕,元境联合信通院举办数字互动分论坛
- 电脑重装的时候这样设置一下,可以解决99%遇到的各种问题