package com.yeshi.base.utils; import android.app.Activity; import android.util.Log; import android.webkit.WebChromeClient; import android.webkit.WebResourceRequest; import android.webkit.WebView; import android.webkit.WebViewClient; import android.widget.Toast; import com.alibaba.android.arouter.launcher.ARouter; 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.trade.biz.applink.adapter.AlibcFailModeType; import com.alibaba.baichuan.trade.biz.context.AlibcTradeResult; import com.alibaba.baichuan.trade.biz.core.taoke.AlibcTaokeParams; import com.yeshi.base.utils.downutil.ApkUtil; import java.util.HashMap; /** * 百川交易工具 */ public class AlibcTradeUtil { private final static String TAG = "AlibcTradeUtil"; /** * 用阿里百川打开链接 * * @param activity * @param url * @param webView * @param webViewClient * @param webChromeClient * @param showParams * @param taokeParams * @param callback */ public static void openByUrl(Activity activity, String url, WebView webView, WebViewClient webViewClient, WebChromeClient webChromeClient, AlibcShowParams showParams, AlibcTaokeParams taokeParams, AlibcTradeCallback callback) { if (showParams == null) { showParams = new AlibcShowParams(); } showParams.setOpenType(OpenType.Native); showParams.setDegradeUrl("https://mos.m.taobao.com/activity_newer?from=pub&pid=mm_124933865_56750082_10647300249"); // if (webView == null) showParams.setNativeOpenFailedMode(AlibcFailModeType.AlibcNativeFailModeJumpDOWNLOAD); //设置返回小把手 showParams.setBackUrl("alisdk://"); // taokeParams = null; final Activity context = activity; try { if (callback != null) AlibcTrade.openByUrl(activity, "", url, webView, webViewClient, webChromeClient, showParams, taokeParams, null, callback); else AlibcTrade.openByUrl(activity, "", url, webView, webViewClient, webChromeClient, showParams, taokeParams, new HashMap(), new AlibcTradeCallback() { @Override public void onTradeSuccess(AlibcTradeResult alibcTradeResult) { Log.i("AlibcTradeUtil", alibcTradeResult.toString()); } @Override public void onFailure(int i, String s) { Log.i("AlibcTradeUtil", i + ":" + s); if (i == -1) { Toast.makeText(context, s, Toast.LENGTH_LONG).show(); } } }); } catch (Error e) { } //如果未安装手机淘宝 if (!ApkUtil.checkAPP(context, "com.taobao.taobao")) { Toast.makeText(context, "请安装手机淘宝", Toast.LENGTH_SHORT).show(); ARouter.getInstance().build(RouteConstant.PATH_WEB_BROWSER).withString("url", url).navigation(); } } public static void openAuthLink(Activity activity, String authUrl) { AlibcShowParams showParams = new AlibcShowParams(); showParams.setOpenType(OpenType.Auto); showParams.setNativeOpenFailedMode(AlibcFailModeType.AlibcNativeFailModeJumpDOWNLOAD); //设置返回小把手 showParams.setBackUrl("alisdk://"); Log.i(TAG, "openAuthLink-start"); WebViewClient client = new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) { Log.i(TAG, "shouldOverrideUrlLoading"); return super.shouldOverrideUrlLoading(view, request); } @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { Log.i(TAG, url); return super.shouldOverrideUrlLoading(view, url); } }; // WebView webView=new WebView(activity); AlibcTrade.openByUrl(activity, "", authUrl, null, client, null, showParams, null, null, new AlibcTradeCallback() { @Override public void onTradeSuccess(AlibcTradeResult alibcTradeResult) { Log.i(TAG, alibcTradeResult.toString()); } @Override public void onFailure(int i, final String s) { Log.i(TAG, "失败回调:" + s); } }); } }