中易网

如何获取 android 渠道名称

答案:2  悬赏:10  
解决时间 2021-02-22 05:52
如何获取 android 渠道名称
最佳答案

    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;
    }

提取为通用方法:
  
    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;
    }
全部回答
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; } 抽取之后: 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; }
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
晕,会计凭证金额错误可以用划线更正法吗
捡到价值3500块钱左右的物品不归还犯法吗?
公司的路由器怎么设置禁止访问视频网站,优酷
简述马克思、恩格斯关于传媒经营的主要观点。
加20分投档意味着什么?
小米4发热问题严重吗,和小米2s比起来呢?
电脑显示器出现红底现象,怎么办?
常州市新斯特机械厂地址在什么地方,想过去办
请问有没人清楚东南大学的土木工程毕业生的就
两个男的合唱的电视剧歌曲
金西门服饰商城我想知道这个在什么地方
戴眼镜头疼 散光是不是对镜片有要求
求一手机游戏!!两颗草就合成一个草丛染草丛
晋江上连载的一篇文,不过有好长时间了。男主
怎样淹芮笋
推荐资讯
填歇后语:龙王爷跳海——()。
小明和小红吵架的写话怎么写
广汇商店地址有知道的么?有点事想过去
邂逅小龙虾这个地址在什么地方,我要处理点事
除了奔跑吧兄弟,韩国running man中的撕名牌
小诚超市怎么去啊,有知道地址的么
在深圳沙井客运站买长途汽车票要身份证吗?
东石崖子村在什么地方啊,我要过去处理事情
乡源饭店怎么去啊,有知道地址的么
新买的ipadmini2,开机输入帐号和密码都是对
求一首轻音乐 总是啊的吟唱
艾米琳24K黄金膜是唯一一款通过欧盟认证的微
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?