Explorar el Código

小程序埋点

huyuguo %!s(int64=4) %!d(string=hace) años
padre
commit
ed2ea09028

+ 2 - 2
app/src/main/AndroidManifest.xml

@ -2,8 +2,8 @@
2 2
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
3 3
    xmlns:tools="http://schemas.android.com/tools"
4 4
    package="com.electric.chargingpile"
5
    android:versionCode="92"
6
    android:versionName="3.5.4">
5
    android:versionCode="93"
6
    android:versionName="3.5.5">
7 7
8 8
    <uses-permission android:name="android.permission.BLUETOOTH" />
9 9
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />

+ 12 - 8
app/src/main/java/com/electric/chargingpile/activity/MyWebViewActivity.java

@ -170,9 +170,9 @@ public class MyWebViewActivity extends Activity implements PlatformActionListene
170 170
        webView.setWebViewClient(mWebViewClient);
171 171
        if (null != mUrl && !"".equals(mUrl)) {
172 172
            if (mUrl.contains("?")) {
173
                mUrl = mUrl + "&version_code=" + BuildConfig.VERSION_CODE;
173
                mUrl = mUrl + "&version_code=" + BuildConfig.VERSION_CODE + "&from=cdz&system=android";
174 174
            } else {
175
                mUrl = mUrl + "?version_code=" + BuildConfig.VERSION_CODE;
175
                mUrl = mUrl + "?version_code=" + BuildConfig.VERSION_CODE + "&from=cdz&system=android";
176 176
            }
177 177
            webView.loadUrl(mUrl);
178 178
        }
@ -181,12 +181,16 @@ public class MyWebViewActivity extends Activity implements PlatformActionListene
181 181
    // 93 3.5.5 小程序埋点
182 182
    @JavascriptInterface
183 183
    public void showminiprogram(final String user_name, String path, int type) {
184
        IWXAPI api = WXAPIFactory.createWXAPI(MyWebViewActivity.this,getResources().getString(R.string.wx_app_key));
185
        WXLaunchMiniProgram.Req req = new WXLaunchMiniProgram.Req();
186
        req.userName = user_name;
187
        req.path = path;
188
        req.miniprogramType = type;
189
        api.sendReq(req);
184
        if (Util.isWxAppInstalledAndSupported(MyWebViewActivity.this)) {
185
            IWXAPI api = WXAPIFactory.createWXAPI(MyWebViewActivity.this,getResources().getString(R.string.wx_app_key));
186
            WXLaunchMiniProgram.Req req = new WXLaunchMiniProgram.Req();
187
            req.userName = user_name;
188
            req.path = path;
189
            req.miniprogramType = type;
190
            api.sendReq(req);
191
        } else {
192
            ToastUtil.showToast(getApplicationContext(), "请先安装微信", Toast.LENGTH_SHORT);
193
        }
190 194
    }
191 195
192 196
    @JavascriptInterface

+ 28 - 0
app/src/main/java/com/electric/chargingpile/util/Util.java

@ -2,6 +2,8 @@ package com.electric.chargingpile.util;
2 2

3 3
import android.app.Activity;
4 4
import android.content.Context;
5
import android.content.pm.PackageInfo;
6
import android.content.pm.PackageManager;
5 7
import android.graphics.Color;
6 8
import android.net.wifi.WifiInfo;
7 9
import android.net.wifi.WifiManager;
@ -22,6 +24,8 @@ import com.electric.chargingpile.data.Zhan;
22 24
import com.electric.chargingpile.data.Zhuang;
23 25
import com.electric.chargingpile.manager.ProfileManager;
24 26
import com.luck.picture.lib.style.PictureParameterStyle;
27
import com.tencent.mm.opensdk.openapi.IWXAPI;
28
import com.tencent.mm.opensdk.openapi.WXAPIFactory;
25 29

26 30
import java.io.IOException;
27 31
import java.io.InputStream;
@ -570,4 +574,28 @@ public class Util {
570 574
        return style;
571 575
    }
572 576

577
    /**
578
     * 判断手机是否安装微信
579
     *
580
     * @param context 上下文
581
     * @return
582
     */
583
    public static boolean isWxAppInstalledAndSupported(Context context) {
584
        IWXAPI api = WXAPIFactory.createWXAPI(context, context.getResources().getString(R.string.wx_app_key));
585
        if (api.isWXAppInstalled()) {
586
            return true;
587
        } else {
588
            final PackageManager packageManager = context.getPackageManager();// 获取packagemanager
589
            List<PackageInfo> pinfo = packageManager.getInstalledPackages(0);// 获取所有已安装程序的包信息
590
            if (pinfo != null) {
591
                for (int i = 0; i < pinfo.size(); i++) {
592
                    String pn = pinfo.get(i).packageName;
593
                    if (pn.equals("com.tencent.mm")) {
594
                        return true;
595
                    }
596
                }
597
            }
598
            return false;
599
        }
600
    }
573 601
}