package com.weikou.beibeivideo.util;
|
|
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.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.context.AlibcTradeResult;
|
import com.alibaba.baichuan.trade.biz.core.taoke.AlibcTaokeParams;
|
import com.alibaba.fastjson.JSONObject;
|
import com.lcjian.library.util.common.StringUtils;
|
import com.weikou.beibeivideo.entity.JumpDetail;
|
|
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<String> 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<String, String> exParams = new HashMap<>();
|
exParams.put(AlibcConstants.ISV_CODE, "appisvcode");
|
exParams.put("alibaba", "阿里巴巴");//自定义参数部分,可任意增删改
|
|
if (!StringUtils.isEmpty(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.isEmpty(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.isEmpty(url))
|
return;
|
//跳转百川
|
AlibcShowParams alibcShowParams = new AlibcShowParams();
|
alibcShowParams.setOpenType(OpenType.Auto);
|
JumpActivityUtil.jumpBaiChuan(context, null, url, "", alibcShowParams);
|
break;
|
|
default: {
|
try {
|
Intent intent = new Intent(context, Class.forName(JumpActivityUtil.filterActivityName(detail.getActivity())));
|
if (params != null)
|
for (Iterator<String> 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;
|
return activity;
|
}
|
|
}
|