admin
2022-08-09 399ac289f80b7a40aa4210341db6b447cacdcf14
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
package com.tejia.lijin.app.util.web;
 
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.net.Uri;
import android.util.Base64;
import android.widget.Toast;
 
import com.tejia.lijin.app.ui.invite.ShareBrowserActivity;
import com.tejia.lijin.app.util.ApkUtil;
import com.tejia.lijin.app.util.Tools;
import com.tejia.lijin.app.util.clipboard.ClipboardUtil;
 
import java.net.URLDecoder;
 
public class WebViewUtil {
 
    public static Boolean interceptUrl(final Context context, String url) {
 
        if (url != null && url.startsWith("yestv://copy")) {
            String murl = url.split("yestv://")[1];
            String[] params = murl.split("#");
            byte raw[] = Base64.decode(params[1], Base64.DEFAULT);
 
            ClipboardUtil.copy(context, new String(raw));
            Toast.makeText(context, "复制成功",
                    Toast.LENGTH_SHORT).show();
            return true;
        } else if (url != null && url.startsWith("yestv://toast")) {
            String murl = url.split("yestv://")[1];
            String[] params = murl.split("#");
            byte raw[] = Base64.decode(params[1], Base64.DEFAULT);
            String content = new String(raw);
            Toast.makeText(context, content, Toast.LENGTH_LONG).show();
            return true;
        }
        if (url != null && !url.startsWith("http")) {
            if (url.startsWith("weixin://wap/pay?")) {
                if (Tools.isWeixinAvilible(context) == 2) {
                    Toast.makeText(context,
                            "尚未安装微信", Toast.LENGTH_LONG).show();
                    return true;
                }
                Intent intent = new Intent();
                intent.setAction(Intent.ACTION_VIEW);
                intent.setData(Uri.parse(url));
                context.startActivity(intent);
            } else if (url.startsWith("alipays:") || url.startsWith("alipay")) {
                try {
                    context.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
                } catch (Exception e) {
                    new AlertDialog.Builder(context)
                            .setMessage("未检测到支付宝客户端,请安装后重试。")
                            .setPositiveButton("立即安装", new DialogInterface.OnClickListener() {
 
                                @Override
                                public void onClick(DialogInterface dialog, int which) {
                                    Uri alipayUrl = Uri.parse("https://d.alipay.com");
                                    context.startActivity(new Intent("android.intent.action.VIEW", alipayUrl));
                                }
                            }).setNegativeButton("取消", null).show();
                }
            } else if (url.startsWith("pinduoduo://")) {//拦截拼多多页面
                if (ApkUtil.checkAPP(context, "com.xunmeng.pinduoduo")) {
                    Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
                    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                    context.startActivity(intent);
                    return true;
                } else {
                    return true;
                }
            } else if (url.startsWith("suning://")) {//苏宁
                if (ApkUtil.checkAPP(context, "com.suning.mobile.ebuy")) {
                    Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
                    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                    context.startActivity(intent);
                    return true;
                } else
                    return true;
            } else if (url.startsWith("vipshop://")) {//唯品会
                if (ApkUtil.checkAPP(context, "com.achievo.vipshop")) {
                    Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
                    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                    context.startActivity(intent);
                    return true;
                } else
                    return true;
            } else if (url.startsWith("snssdk1128://")) {//抖音
                try {
                    Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
                    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                    context.startActivity(intent);
                } catch (Exception e) {
 
                }
                return true;
            }
 
            return true;
        }
 
        if (url.endsWith(".apk")) {
            Intent intent = new Intent(Intent.ACTION_VIEW);
            intent.addCategory(Intent.CATEGORY_BROWSABLE);
            intent.setData(Uri.parse(url));
            context.startActivity(intent);
            return true;
        }
 
        return null;
    }
 
}