按照官網(wǎng)給出的文檔,在淘寶授權(quán)登錄之后調(diào)用AlibcTrade.openByUrl()即可實(shí)現(xiàn)免密登錄脊岳,那么問題來了逝段。。割捅。
1奶躯、首先不傳webview?淘寶授權(quán)之后?調(diào)用方法,讓輸入用戶名密碼亿驾。
2嘹黔、傳入百川webview淘寶授權(quán)之后,還是輸入用戶名密碼莫瞬;
3儡蔓、自定義webview淘寶授權(quán)之后,不用想了肯定還是同樣問題疼邀;
private void openByUrl(String url) {
? ? ? ? AlibcShowParams showParams = new AlibcShowParams();
? ? ? ? showParams.setOpenType(OpenType.Native);
? ? ? ? showParams.setBackUrl("");
? ? ? ? AlibcTaokeParams taokeParams = new AlibcTaokeParams("", "", "");
? ? ? ? Map<String, String> trackParams = new HashMap<>();
? ? ? ? AlibcTrade.openByUrl(ChannelWebActivity.this, "", url, null,
? ? ? ? ? ? ? ? new WebViewClient(), new WebChromeClient() {
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? showParams, taokeParams, trackParams, new AlibcTradeCallback() {
? ? ? ? ? ? ? ? ? ? @Override
? ? ? ? ? ? ? ? ? ? public void onTradeSuccess(AlibcTradeResult tradeResult) {
? ? ? ? ? ? ? ? ? ? ? ? AlibcLogger.i("WebViewActivity", "request success");
? ? ? ? ? ? ? ?}
? ? ? ? ? ? ? ? ? ? @Override
? ? ? ? ? ? ? ? ? ? public void onFailure(int code, String msg) {
? ? ? ? ? ? ? ? ? ? ? ? AlibcLogger.e("WebViewActivity", "code=" + code + ", msg=" + msg);
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? });}}
解決辦法:網(wǎng)址重定向調(diào)取下面方法(子線程)
new Thread(() -> {
? ? ? ? ? ? String url =? ?getRedirectUrl(NetConfig.TAOBAOURL);
? ? ? ? ? ? ? }).start();
/**
* 獲取重定向地址
* @param path
*/
private static StringgetRedirectUrl(String path) {
????????String url =null;
? ????????? try {
????????????????????????HttpURLConnection conn = (HttpURLConnection)new URL(path).openConnection();
? ? ? ????????????????? conn.setInstanceFollowRedirects(false);
? ? ? ????????????? ????conn.setConnectTimeout(5000);
? ? ? ? ? ? ? ? ? ? ? ?url = conn.getHeaderField("Location");
? ? ? ????????????????? conn.disconnect();
? ????????????? }catch (Exception e) {
????????????????????????e.printStackTrace();
? ????????????????? }
????????????return url;
????}
不喜勿噴U阒怠!檩小!