package com.hupu.games.data; import java.io.Serializable; import java.util.List; import org.json.JSONObject; import com.hupu.games.common.HupuLog; import com.hupu.games.common.HupuScheme; import android.net.Uri; /**推送bean*/ public class NotificationEntity extends BaseEntity implements Serializable{ public String strTitle; public String strContent; /**0 url ,1 nba 2 other 6unknow*/ public int i_type; public String strUrl; public String strSound; public int i_badge; public HupuScheme mScheme; public int i_id; @Override public void paser(JSONObject json) throws Exception { HupuLog.d("json======"+json); JSONObject aps =json.getJSONObject("aps"); JSONObject alert =aps.getJSONObject("alert"); strContent=alert.optString("body",""); strTitle =alert.optString("title",""); strSound = aps.optString("sound",null); strUrl= json.optString("url",null); if(strUrl!=null) { paserUrl(strUrl); } } private final static String NBA_HOME="NBA_HOME"; private final static String NBA_PLAYBYPLAY="NBA_PLAYBYPLAY"; private final static String NBA_BOXSCORE="NBA_BOXSCORE"; private final static String NBA_RECAP="NBA_RECAP"; private final static String NBA_NEWS="NBA_NEWS"; private final static String NBA="nba";// 篮球-nba,需兼容老版本的URL private void paserUrl(String s) { try { Uri uri=Uri.parse(s); String scheme =uri.getScheme(); if("app".equalsIgnoreCase(scheme)) { String host =uri.getHost(); mScheme =new HupuScheme(); if(NBA_HOME.equals(host)) mScheme.mode="games"; else if(NBA_PLAYBYPLAY.equals(host)) mScheme.mode="live"; else if(NBA_BOXSCORE.equals(host)) mScheme.mode="stats"; else if(NBA_RECAP.equals(host)) mScheme.mode="recap"; else if(NBA_NEWS.equals(host)) mScheme.mode="news"; if(mScheme.mode!=null) { HupuLog.e("papa", "mScheme.mode==="+mScheme.mode); i_type=1;//为了兼容老的格式NBA mScheme.template =NBA; mScheme.game =NBA; List<String> list =uri.getPathSegments(); if (list != null && list.size() > 0) { mScheme.id =Integer.parseInt(list.get(0)); } } else { i_type=2;//除了nba的其他类型比赛 mScheme.paser(uri); } i_id =mScheme.id ; } else if("http".equalsIgnoreCase(scheme) || "https".equalsIgnoreCase(scheme) ) { i_type=0;//http格式 } else//未知格式 i_type=6; } catch (NumberFormatException e) { e.printStackTrace(); } } }