獲取渠道號

     /**
     * 獲取渠道名
     * @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;
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章