package com.hupu.games.common; import android.content.Context; import android.content.Intent; import android.net.Uri; import com.hupu.games.R; import com.hupu.games.activity.BaseGameActivity; import com.hupu.games.activity.BasketballActivity; import com.hupu.games.activity.FootballGameActivity; import com.hupu.games.activity.FootballPlayerInfoActivity; import com.hupu.games.activity.HupuBaseActivity; import com.hupu.games.activity.NBAGameActivity; import com.hupu.games.activity.NBAPlayerInfoActivity; import com.hupu.games.activity.NBATeamActivity; import com.hupu.games.activity.NewsDetailActivity; import com.hupu.games.activity.NickNameActivity; import com.hupu.games.activity.SoccerEventsActivity; import com.hupu.games.activity.SoccerLiveActivity; import com.hupu.games.activity.SoccerTeamActivity; import com.hupu.games.activity.WebViewActivity; import com.hupu.games.casino.AuthDialog; import com.hupu.games.pay.AccountActivity; public class HupuSchemeProccess { /** * 根据自定义的scheme规则进行跳转 kanqiu://联赛模板/联赛/模块/数字ID (数字ID可以为空) * kanqiu://soccerleagues/csl/news/123445 * kanqiu://soccerleagues/csl/events/180405(gid) * kanqiu://soccercupleagues/worldcup/events/10015(gid) 球队: * kanqiu://soccercupleagues/worldcup/team/1[teamid] 球员: * kanqiu://soccercupleagues/worldcup/player/1[playerid] 教练: * kanqiu://soccercupleagues/worldcup/coach/1[coachid] * kanqiu://soccercupleagues/worldcup/casino/gid * * @param -1传人的参数有误 0不处理 1成功处理 * */ public static int proccessScheme(Context context, Uri uri) { // uri=Uri.parse("kanqiu://soccerleagues/epl/chat/1328922"); HupuScheme scheme = new HupuScheme(); scheme.paser(uri); HupuLog.d("uri=" + uri.toString()); // 如果是新闻,直接跳转 if (HuPuRes.SUB_TAB_NEWS.equalsIgnoreCase(scheme.mode)) { if (scheme.id <= 0)// 为了应付董大师的高端测试 return -1; Intent in = new Intent(context, NewsDetailActivity.class); in.putExtra("nid", (long) scheme.id); in.putExtra("reply", 0); in.putExtra("tag", scheme.game); in.putExtra("Query", scheme.getQuery()); // in.putExtra("cntag", cnTag); context.startActivity(in); return 1; } if (HuPuRes.TEMPLATE_ACCOUNT.equalsIgnoreCase(scheme.template)) { if (HuPuRes.SUB_TAB_ACCOUNT.equals(scheme.game)) { // Intent intent = new Intent(context, AccountActivity.class); // context.startActivity(intent); ((HupuBaseActivity)context).showBindDialog(SharedPreferencesMgr.getString("webviewLoginAlert", context.getString(R.string.bind_phone_dialog))); // AuthDialog dialog = new AuthDialog(context, (HupuBaseActivity)context, // dialogTitle); // dialog.show(); }else if (HuPuRes.SUB_TAB_NICKNAME.equals(scheme.game)) { Intent intent = new Intent(context, NickNameActivity.class); context.startActivity(intent); } return 1; } if (HuPuRes.TAB_VIDEO.equalsIgnoreCase(scheme.mode)) { Intent in = new Intent(context, WebViewActivity.class); in.putExtra("url", scheme.getParameter("url")); in.putExtra("source", scheme.getParameter("source"));// 视频的真实地址 in.putExtra("content", scheme.getParameter("title"));// 分享的内容 context.startActivity(in); return 1; } if (HuPuRes.SUB_TAB_EVENTS.equalsIgnoreCase(scheme.mode)) { if (scheme.id <= 0) return -1; if (context instanceof FootballGameActivity)// 如果是从足球战报跳转 ((FootballGameActivity) context).toEventsActivity(scheme); else {// 从其他方式跳转,比如新闻,通知等 Intent in = new Intent(context, SoccerEventsActivity.class); in.putExtra("gid", scheme.id); in.putExtra("tag", scheme.game); context.startActivity(in); } return 1; } if (HuPuRes.SUB_TAB_CASINO.equals(scheme.mode)) { if (scheme.id <= 0) return -1; Intent in = null; if (HuPuRes.TEMPLATE_SOCCER_LEAGUE .equalsIgnoreCase(scheme.template) || HuPuRes.TEMPLATE_SOCCER_CUP_LEAGUE .equalsIgnoreCase(scheme.template)) { in = new Intent(context, FootballGameActivity.class); } else if (scheme.template.equals(HuPuRes.TEMPLATE_NBA)) { in = new Intent(context, NBAGameActivity.class); } else if (scheme.template.equals(HuPuRes.TEMPLATE_CBA)) { in = new Intent(context, BasketballActivity.class); } in.putExtra("gid", scheme.id); in.putExtra("tag", scheme.game); in.putExtra("tab", BaseGameActivity.TAB_GUESS); context.startActivity(in); return 1; } if (HuPuRes.TEMPLATE_NBA.equalsIgnoreCase(scheme.template)) { if (HuPuRes.SUB_TAB_PLAYER.equalsIgnoreCase(scheme.mode)) { // 球员数据 // ((HupuBaseActivity) getContext()).sendUmeng( // HuPuRes.UMENG_EVENT_NBAPLAYERS, HuPuRes.UMENG_KEY_ENTRANCE, // HuPuRes.UMENG_VALUE_NBA_STATS); if (scheme.id <= 0)// 为了应付董大师的高端测试 return -1; Intent in = new Intent(context, NBAPlayerInfoActivity.class); in.putExtra("pid", scheme.id); context.startActivity(in); return 1; } else if (HuPuRes.SUB_TAB_TEAM.equalsIgnoreCase(scheme.mode)) { // 球队 if (scheme.id <= 0)// 为了应付董大师的高端测试 return -1; Intent in = new Intent(context, NBATeamActivity.class); in.putExtra("tid", scheme.id); context.startActivity(in); return 1; } } if (HuPuRes.TEMPLATE_SOCCER_LEAGUE.equalsIgnoreCase(scheme.template) || HuPuRes.TEMPLATE_SOCCER_CUP_LEAGUE .equalsIgnoreCase(scheme.template)) { // 足球分类 if (HuPuRes.SUB_TAB_PLAYER.equalsIgnoreCase(scheme.mode)) { if (scheme.id <= 0)// 为了应付董大师的高端测试 return -1; Intent in = new Intent(context, FootballPlayerInfoActivity.class); in.putExtra("tag", scheme.game); in.putExtra("pid", scheme.id); context.startActivity(in); return 1; } else if (HuPuRes.SUB_TAB_TEAM.equalsIgnoreCase(scheme.mode)) { // 球队 if (scheme.id <= 0)// 为了应付董大师的高端测试 return -1; Intent in = new Intent(context, SoccerTeamActivity.class); in.putExtra("tag", scheme.game); in.putExtra("tid", scheme.id); context.startActivity(in); return 1; } else if (HuPuRes.SUB_TAB_RATINGS.equalsIgnoreCase(scheme.mode)) { } else if (HuPuRes.SUB_TAB_LIVE.equalsIgnoreCase(scheme.mode)) { Intent in = new Intent(context, SoccerLiveActivity.class); in.putExtra("gid", scheme.id); in.putExtra("tag", scheme.game); context.startActivity(in); } } return 0; } }