package com.yeshi.base.utils; import android.app.Activity; import android.content.Context; import android.content.Intent; import android.webkit.WebChromeClient; import android.webkit.WebViewClient; import com.alibaba.baichuan.android.trade.AlibcTrade; import com.alibaba.baichuan.android.trade.AlibcTradeSDK; import com.alibaba.baichuan.android.trade.callback.AlibcTradeCallback; import com.alibaba.baichuan.android.trade.model.AlibcShowParams; import com.alibaba.baichuan.android.trade.model.OpenType; import com.alibaba.baichuan.android.trade.page.AlibcDetailPage; import com.alibaba.baichuan.trade.biz.AlibcConstants; import com.alibaba.baichuan.trade.biz.applink.adapter.AlibcFailModeType; import com.alibaba.baichuan.trade.biz.context.AlibcTradeResult; import com.alibaba.baichuan.trade.biz.core.taoke.AlibcTaokeParams; import com.alibaba.fastjson.JSONObject; import com.yeshi.base.entity.JumpDetail; import com.yeshi.base.ui.BrowserActivity; import com.yeshi.base.utils.downutil.StringUtils; import org.json.JSONException; import java.util.HashMap; import java.util.Iterator; import java.util.Map; public class JumpActivityUtil { public static void jumpActivity(Context mContext, JumpDetail jumpDetail, JSONObject params) { Intent intent = null; org.json.JSONObject object = null; try { intent = new Intent(mContext, Class.forName(JumpActivityUtil.filterActivityName(jumpDetail.getActivity()))); if (params != null) object = new org.json.JSONObject(params); } catch (ClassNotFoundException e) { e.printStackTrace(); } if (object != null) { @SuppressWarnings("unchecked") Iterator its = object.keys(); while (its.hasNext()) { String key = its.next(); String value = object.optString(key); intent.putExtra(key, value); } } mContext.startActivity(intent); } public static void jumpBaiChuan(Activity mActivity, String tbClientInfo, String url, String auctionId, AlibcShowParams alibcShowParams) { AlibcTaokeParams alibcTaokeParams = null; Map exParams = new HashMap<>(); exParams.put(AlibcConstants.ISV_CODE, "appisvcode"); exParams.put("alibaba", "阿里巴巴");//自定义参数部分,可任意增删改 if (!StringUtils.isNullOrEmpty(tbClientInfo)) { alibcTaokeParams = new AlibcTaokeParams("", "", ""); alibcTaokeParams.setPid(BeibeiConstant.BAICHUAN_PID); org.json.JSONObject object = null; try { object = new org.json.JSONObject(tbClientInfo); } catch (JSONException e) { } String pid = object.optString("pid"); String appKey = object.optString("appKey"); String adZoneId = object.optString("adZoneId"); alibcTaokeParams.setPid(pid); alibcTaokeParams.setAdzoneid(adZoneId); alibcTaokeParams.pid = pid; alibcTaokeParams.adzoneid = adZoneId; alibcTaokeParams.extraParams = new HashMap<>(); alibcTaokeParams.extraParams.put("taokeAppkey", appKey); } else { alibcTaokeParams = new AlibcTaokeParams("", "", ""); alibcTaokeParams.setPid(BeibeiConstant.BAICHUAN_PID); alibcTaokeParams.setAdzoneid(BeibeiConstant.BAICHUAN_ADZONE_ID); alibcTaokeParams.pid = BeibeiConstant.BAICHUAN_PID; alibcTaokeParams.adzoneid = BeibeiConstant.BAICHUAN_ADZONE_ID; alibcTaokeParams.extraParams = new HashMap<>(); alibcTaokeParams.extraParams.put("taokeAppkey", BeibeiConstant.BAICHUAN_APPKEY); } if (!StringUtils.isNullOrEmpty(url)) { AlibcTradeUtil.openByUrl(mActivity, url, null, new WebViewClient(), new WebChromeClient(), alibcShowParams, alibcTaokeParams, null); } else { AlibcDetailPage basePage = new AlibcDetailPage(auctionId); AlibcTrade.openByBizCode(mActivity, basePage, null, new WebViewClient(), new WebChromeClient(), "nativeDetail", alibcShowParams, alibcTaokeParams, null, new AlibcTradeCallback() { @Override public void onTradeSuccess(AlibcTradeResult alibcTradeResult) { } @Override public void onFailure(int i, String s) { } }); } } /** * 跳转 * * @param context * @param detail * @param params */ public static void jumpPage(final Activity context, JumpDetail detail, JSONObject params) { if (context == null) return; if (detail == null) return; String type = detail.getType(); switch (type) { case "baichuan": if (params == null) return; String url = params.getString("url"); if (StringUtils.isNullOrEmpty(url)) return; //跳转百川 AlibcShowParams alibcShowParams = new AlibcShowParams(); alibcShowParams.setOpenType(OpenType.Auto); alibcShowParams.setNativeOpenFailedMode(AlibcFailModeType.AlibcNativeFailModeJumpBROWER); // AlibcTrade.openByUrl(GoodsDetailActivityTB.this, "", // url, null, new WebViewClient(), new WebChromeClient(), // alibcShowParams, alibcTaokeParams, exParams, new MiDuoTradeCallback("")); AlibcTaokeParams alibcTaokeParams = new AlibcTaokeParams("", "", ""); alibcTaokeParams.setPid(BeibeiConstant.BAICHUAN_PID); alibcTaokeParams.setAdzoneid(BeibeiConstant.BAICHUAN_ADZONE_ID); alibcTaokeParams.pid = BeibeiConstant.BAICHUAN_PID; alibcTaokeParams.adzoneid = BeibeiConstant.BAICHUAN_ADZONE_ID; alibcTaokeParams.extraParams = new HashMap<>(); alibcTaokeParams.extraParams.put("taokeAppkey", BeibeiConstant.BAICHUAN_APPKEY); AlibcTradeSDK.setTaokeParams(alibcTaokeParams); AlibcTradeUtil.openByUrl(context, url, null, new WebViewClient(), new WebChromeClient(), alibcShowParams, alibcTaokeParams, null); break; default: { try { Intent intent = new Intent(context, Class.forName(JumpActivityUtil.filterActivityName(detail.getActivity()))); if (params != null) for (Iterator keys = params.keySet().iterator(); keys.hasNext(); ) { String key = keys.next(); intent.putExtra(key, params.getString(key)); } context.startActivity(intent); } catch (Exception e) { e.printStackTrace(); } } break; } } public static String filterActivityName(String activity) { if (activity == null) return null; if ("com.weikou.beibeivideo.ui.mine.BrowserActivity".equalsIgnoreCase(activity)) { return BrowserActivity.class.getName(); } return activity.replace("com.weikou.beibeivideo", "com.mugua.mgvideo"); } }