790
                MainApplication.mainSkip = "1";
791
                finish();
792
            }
793
        }
794
        if (MainApplication.type.equals("PushInvite")) {
795
            if (MainApplication.isLogin()) {
796
                Intent intent4 = new Intent(getApplication(), MyWebViewActivity.class);
797
                intent4.putExtra("url", "https://evcharge.cc/cdz/yqm.html?code=" + UserCenterActivity.getShareNo(Integer.parseInt(MainApplication.userId)) + "&phone=" + MainApplication.userPhone);
798
//                intent4.putExtra("tag", "2");
799
                startActivity(intent4);
800
                MainApplication.h5_url = "";
801
                MainApplication.type = "";
802
                MainApplication.mainSkip = "1";
803
                finish();
804
            }
805
        }
806
        if (MainApplication.type.equals("first") || MainApplication.type.equals("second") || MainApplication.type.equals("three")) {
807
            if (MainApplication.isLogin()) {
808
                long appTime4 = System.currentTimeMillis() / 1000;
809
                long updatetime4 = appTime4 - MainMapActivity.cha - 1;
810
                String token4 = String.valueOf(updatetime4);
811
                Intent intent4 = new Intent(getApplication(), MyWebViewActivity.class);
812
                String web1 = null;
813
                try {
814
                    web1 = MainApplication.url + "/zhannew/basic/web/index.php/discount/redlist?userid=" + MainApplication.userId + "&token=" + URLEncoder.encode(DES3.encode(token4));
815
                } catch (Exception e) {
816
                    e.printStackTrace();
817
                }
818
                intent4.putExtra("url", web1);
819
//                intent4.putExtra("tag", "4");
820
                startActivity(intent4);
821
                MainApplication.h5_url = "";
822
                MainApplication.type = "";
823
                MainApplication.mainSkip = "1";
824
                finish();
825
            }
826
        }
827
828
        if (MainApplication.type.equals("PushCommodity")) {
829
            long appTime11 = System.currentTimeMillis() / 1000;
830
//            Log.e("sfv_url===", getIntent().getStringExtra("shareUrl"));
831
//            Log.i("appTime(long)---", appTime11 + "");
832
            long updatetime1 = appTime11 - MainMapActivity.cha - 5;
833
//            Log.i("updatetime(long)---", updatetime1 + "");
834
//            Log.i("cha---", MainMapActivity.cha + "");
835
            String token1 = String.valueOf(updatetime1);
836
            String encode_token = null;
837
            try {
838
                encode_token = DES3.encode(token1);
839
            } catch (Exception e) {
840
                e.printStackTrace();
841
            }
842
            String replace = URLEncoder.encode(encode_token);
843
//                    startActivity(new Intent(getApplication(), ShopActivity.class));
844
            Intent intent11 = new Intent();
845
            intent11.setClass(getApplicationContext(), CreditActivity.class);
846
            intent11.putExtra("navColor", "#fcfcfc");    //配置导航条的背景颜色,请用#ffffff长格式。
847
            intent11.putExtra("titleColor", "#222222");    //配置导航条标题的颜色,请用#ffffff长格式。
848
            MainApplication.goods_type = "details";
849
//            MainApplication.current_url = getIntent().getStringExtra("shareUrl");
850
//                MainApplication.current_url = "http://www.duiba.com.cn/mobile/appItemDetail?appItemId=453087";
851
            if (!MainApplication.isLogin()) {
852
                intent11.putExtra("url", "http://cdz.evcharge.cc/zhannew/basic/web/index.php/duiba/active?token=" + replace + "&url=" + MainApplication.h5_url);    //配置自动登陆地址,每次需服务端动态生成。
853
            } else {
854
                intent11.putExtra("url", "http://cdz.evcharge.cc/zhannew/basic/web/index.php/duiba/active?user_id=" + MainApplication.userId + "&token=" + replace + "&url=" + MainApplication.h5_url);    //配置自动登陆地址,每次需服务端动态生成。
855
            }
856
            startActivity(intent11);
857
            MainApplication.ad_link = "";
858
859
            overridePendingTransition(0, 0);
860
861
            CreditActivity.creditsListener = new CreditActivity.CreditsListener() {
862
                /**
863
                 * 当点击分享按钮被点击
864
                 * @param shareUrl 分享的地址
865
                 * @param shareThumbnail 分享的缩略图
866
                 * @param shareTitle 分享的标题
867
                 * @param shareSubtitle 分享的副标题
868
                 */
869
                public void onShareClick(WebView webView, String shareUrl, String shareThumbnail, String shareTitle, String shareSubtitle) {
870
                    //当分享按钮被点击时,会调用此处代码。在这里处理分享的业务逻辑。
871
//                            new AlertDialog.Builder(webView.getContext())
872
//                                    .setTitle("分享信息")
873
//                                    .setItems(new String[] {"标题:"+shareTitle,"副标题:"+shareSubtitle,"缩略图地址:"+shareThumbnail,"链接:"+shareUrl}, null)
874
//                                    .setNegativeButton("确定", null)
875
//                                    .show();
876
877
                    ChargingShareBean chargingShareBean = new ChargingShareBean();
878
                    chargingShareBean.setIcon(shareThumbnail);
879
                    chargingShareBean.setTitle(shareTitle);
880
                    chargingShareBean.setUrl(shareUrl);
881
                    chargingShareBean.setText("");
882
                    showSimpleBottomSheetGrid(chargingShareBean);
883
                }
884
885
                /**
886
                 * 当点击“请先登录”按钮唤起登录时,会调用此处代码。
887
                 * 用户登录后,需要将CreditsActivity.IS_WAKEUP_LOGIN变量设置为true。
888
                 * @param webView 用于登录成功后返回到当前的webview刷新登录状态。
889
                 * @param currentUrl 当前页面的url
890
                 */
891
                public void onLoginClick(WebView webView, final String currentUrl) {
892
                    //当未登录的用户点击去登录时,会调用此处代码。
893
                    //用户登录后,需要将CreditsActivity.IS_WAKEUP_LOGIN变量设置为true。
894
                    //为了用户登录后能回到未登录前的页面(currentUrl)。
895
                    //当用户登录成功后,需要重新请求一次服务端,带上currentUrl。
896
                    //用该方法中的webview变量加载请求链接。
897
                    //服务端收到请求后在生成免登录url时,将currentUrl放入redirect参数,通知客户端302跳转到新生成的免登录URL。
898
                    new android.app.AlertDialog.Builder(webView.getContext())
899
                            .setTitle("跳转登录")
900
                            .setMessage("跳转到登录页面?")
901
                            .setPositiveButton("是", new DialogInterface.OnClickListener() {
902
                                @Override
903
                                public void onClick(DialogInterface dialog, int which) {
904
//                                        MainApplication.current_url = currentUrl;
905
                                    MainApplication.h5_url = currentUrl;
906
                                    context.startActivity(new Intent(getApplicationContext(), LoginActivity.class));
907
908
                                }
909
                            })
910
                            .setNegativeButton("否", null)
911
                            .show();
912
                }
913
914
                /**
915
                 * 当点击“复制”按钮时,触发该方法,回调获取到券码code
916
                 * @param webView webview对象。
917
                 * @param code 复制的券码
918
                 */
919
                public void onCopyCode(WebView webView, String code) {
920
                    //当未登录的用户点击去登录时,会调用此处代码。
921
                    new android.app.AlertDialog.Builder(webView.getContext())
922
                            .setTitle("复制券码")
923
                            .setMessage("已复制,券码为:" + code)
924
                            .setPositiveButton("是", null)
925
                            .setNegativeButton("否", null)
926
                            .show();
927
                }
928
929
                /**
930
                 * 积分商城返回首页刷新积分时,触发该方法。
931
                 */
932
                public void onLocalRefresh(WebView mWebView, String credits) {
933
                    //String credits为积分商城返回的最新积分,不保证准确。
934
                    //触发更新本地积分,这里建议用ajax向自己服务器请求积分值,比较准确。
935
//                    Toast.makeText(getApplicationContext(), "触发本地刷新积分:" + credits, Toast.LENGTH_SHORT).show();
936
                }
937
            };
938
        }
939
940 751
941 752
        if (MainApplication.ad_link.equals("1")) {
942 753
            againPoint = "1";
@ -1287,52 +1098,6 @@ public class MainMapActivity extends Activity implements LocationSource, AMapLoc
1287 1098
            }
1288 1099
        });
1289 1100
1290
        // add by hyg 点击跳转到聊聊 隐藏该功能
1291
//        windowChat.setOnClickListener(new View.OnClickListener() {
1292
//            @Override
1293
//            public void onClick(View view) {
1294
//                if (socket != null) {
1295
//                    try {
1296
//                        socket.close();
1297
//                    } catch (IOException e) {
1298
//                        e.printStackTrace();
1299
//                    }
1300
//                }
1301
//                MobclickAgent.onEvent(getApplicationContext(), "1121");
1302
//                Intent i = new Intent(getApplication(), ChatActivity.class);//聊聊页面
1303
//                i.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
1304
//                startActivity(i);
1305
//                overridePendingTransition(0, 0);
1306
//                if (count == 1) {
1307
//
1308
//                    count = 2;
1309
//                }
1310
//                MobclickAgent.onEvent(getApplicationContext(), "0999");
1311
//                windowLayout.setVisibility(View.GONE);
1312
//
1313
//
1314
//                rl_control.setVisibility(View.VISIBLE);
1315
//                if (nMarker != null) {
1316
//                    nMarker.hideInfoWindow();
1317
//                    MarkerOptions markerOptionss = new MarkerOptions();
1318
//                    if (current_chargePoint.getOwn_pay().equals("1")) {
1319
//                        nMarker.setIcon(BitmapDescriptorFactory.fromResource(R.drawable.icon_newmarker1));
1320
//                    } else {
1321
//                        if (current_chargePoint.getSuit_car().equals("特斯拉")) {
1322
//                            nMarker.setIcon(BitmapDescriptorFactory.fromResource(R.drawable.icon_newmarker3));
1323
//                        } else {
1324
//                            if (WelcomeActivity.canCost.contains(current_chargePoint.getSupplier())) {
1325
//                                nMarker.setIcon(BitmapDescriptorFactory.fromResource(R.drawable.icon_newmarker2));
1326
//                            } else {
1327
//                                nMarker.setIcon(BitmapDescriptorFactory.fromResource(R.drawable.icon_newmarker3));
1328
//                            }
1329
//                        }
1330
//                    }
1331
//                }
1332
//
1333
//            }
1334
//        });
1335
1336 1101
1337 1102
        tv_sortDistance = (TextView) findViewById(R.id.tv_sortDistance);
1338 1103
        tv_sortDistance.setOnClickListener(this);
@ -1773,7 +1538,7 @@ public class MainMapActivity extends Activity implements LocationSource, AMapLoc
1773 1538
                    String url = "{\"fun\":\"dingwei\",\"poi_jing\":" + "\"" + String.format("%.6f", bd_lon) +
1774 1539
                            "\"" + ",\"poi_wei\":" + "\"" + String.format("%.6f", bd_lat) + "\"" + ",\"imei\":"
1775 1540
                            + "\"" + "android_" + Util.getUdid() + "\"" + ",\"timer\":" + "\"" + Token
1776
                            + "\"" + ",\"registration_id\":" + "\"" + MainApplication.push_id + "\""
1541
                            + "\"" + ",\"registration_id\":" + "\"" + MainApplication.getInstance().getPushID() + "\""
1777 1542
                            + ",\"userid\":" + "\"" + uid + "\"" + "}";
1778 1543
                    eteLocation(url);
1779 1544
                }

+ 3 - 4
app/src/main/java/com/electric/chargingpile/activity/MyWebViewActivity.java

@ -727,10 +727,10 @@ public class MyWebViewActivity extends Activity implements PlatformActionListene
727 727
        long appTime1 = System.currentTimeMillis() / 1000;
728 728
        long updatetime = appTime1 - MainMapActivity.cha - 3;
729 729
        String token = DES3.encode(String.valueOf(updatetime));
730
        final String replace = URLEncoder.encode(token);
730
        final String replace = URLEncoder.encode(token, "UTF-8");
731 731
        String url = MainApplication.url + "/zhannew/basic/web/index.php/tpmember/login?phone="
732
                + user_name + "&password=" + URLEncoder.encode(password) + "&token=" + replace
733
                + "&imei=" + "android_" + MainApplication.imei + "&registration_id=" + MainApplication.push_id;
732
                + user_name + "&password=" + URLEncoder.encode(password, "UTF-8") + "&token=" + replace
733
                + "&imei=" + "android_" + MainApplication.imei + "&registration_id=" + MainApplication.getInstance().getPushID();
734 734
        StringCallback stringCallback = new StringCallback() {
735 735
            @Override
736 736
            public void onError(Call call, Exception e) {
@ -741,7 +741,6 @@ public class MyWebViewActivity extends Activity implements PlatformActionListene
741 741
                        webView.evaluateJavascript("window.myglobal.reuserlogin('" + "no" + "')", new ValueCallback<String>() {
742 742
                            @Override
743 743
                            public void onReceiveValue(String arg0) {
744
745 744
                            }
746 745
                        });
747 746
                    }

+ 3 - 0
app/src/main/java/com/electric/chargingpile/activity/PrivacyAgreementActivity.java

@ -21,9 +21,12 @@ import android.widget.TextView;
21 21
import android.widget.Toast;
22 22
23 23
import com.electric.chargingpile.R;
24
import com.electric.chargingpile.application.MainApplication;
24 25
import com.electric.chargingpile.manager.ProfileManager;
25 26
import com.electric.chargingpile.util.BarColorUtil;
26 27
28
import cn.jpush.android.api.JPushInterface;
29
27 30
public class PrivacyAgreementActivity extends Activity {
28 31
29 32
    private TextView agree_enter_text_view;

+ 4 - 19
app/src/main/java/com/electric/chargingpile/activity/RegisterActivity.java

@ -444,21 +444,6 @@ public class RegisterActivity extends Activity implements OnClickListener {
444 444
        }).start();
445 445
    }
446 446

447
//	private void getTpye() {
448
//		if (!NetUtil.CheckNetwork(this)) {
449
//			Toast.makeText(this, "请检查网络", Toast.LENGTH_SHORT).show();
450
//			return;
451
//		}
452
//
453
//		new Thread(new Runnable() {
454
//			@Override
455
//			public void run() {
456
//				String url="http://www.d1ev.com/public/getSaleCar";
457
//				getType(url);
458
//			}
459
//		}).start();
460
//	}
461

462 447
    private void resetsubmit() {
463 448
        if (!NetUtil.CheckNetwork(this)) {
464 449
            Toast.makeText(this, "请检查网络", Toast.LENGTH_SHORT).show();
@ -467,7 +452,7 @@ public class RegisterActivity extends Activity implements OnClickListener {
467 452
        if (hasCameraPermission()) {
468 453
            String imei = Util.getUdid();
469 454

470
            final String url = MainApplication.url + "/zhannew/basic/web/index.php/tpmember/add?phone=" + etPhone.getText().toString().trim() + "&sms=" + etCode.getText().toString().trim() + "&password=" + password.getText().toString().trim() + "&yqm=" + et_input_shareno.getText().toString() + "&imei=" + "android_" + imei + "&registration_id=" + MainApplication.push_id;
455
            final String url = MainApplication.url + "/zhannew/basic/web/index.php/tpmember/add?phone=" + etPhone.getText().toString().trim() + "&sms=" + etCode.getText().toString().trim() + "&password=" + password.getText().toString().trim() + "&yqm=" + et_input_shareno.getText().toString() + "&imei=" + "android_" + imei + "&registration_id=" + MainApplication.getInstance().getPushID();
471 456
            new Thread(new Runnable() {
472 457
                @Override
473 458
                public void run() {
@ -607,10 +592,10 @@ public class RegisterActivity extends Activity implements OnClickListener {
607 592
            long appTime1 = System.currentTimeMillis() / 1000;
608 593
            long updatetime = appTime1 - MainMapActivity.cha - 3;
609 594
            String token = String.valueOf(updatetime);
610
            final String replace = URLEncoder.encode(DES3.encode(token));
595
            final String replace = URLEncoder.encode(DES3.encode(token), "UTF-8");
611 596
            String url = MainApplication.url + "/zhannew/basic/web/index.php/tpmember/login?phone="
612
                    + etPhone.getText().toString() + "&password=" + URLEncoder.encode(password.getText().toString()) + "&token=" + replace
613
                    + "&imei=" + "android_" + MainApplication.imei + "&registration_id=" + MainApplication.push_id;
597
                    + etPhone.getText().toString() + "&password=" + URLEncoder.encode(password.getText().toString(), "UTF-8") + "&token=" + replace
598
                    + "&imei=" + "android_" + MainApplication.imei + "&registration_id=" + MainApplication.getInstance().getPushID();
614 599
            OkHttpUtils.get().url(url).build().execute(new StringCallback() {
615 600
                @Override
616 601
                public void onError(Call call, Exception e) {

+ 1 - 0
app/src/main/java/com/electric/chargingpile/activity/UserCenterActivity.java

@ -88,6 +88,7 @@ import java.net.URL;
88 88
import java.net.URLEncoder;
89 89
import java.util.List;
90 90
91
import cn.jpush.android.api.JPushInterface;
91 92
import okhttp3.Call;
92 93
import pub.devrel.easypermissions.AfterPermissionGranted;
93 94
import pub.devrel.easypermissions.AppSettingsDialog;

+ 3 - 3
app/src/main/java/com/electric/chargingpile/activity/UserCenterMoreActivity.java

@ -448,10 +448,10 @@ public class UserCenterMoreActivity extends Activity implements View.OnClickList
448 448
        Log.i("cha---", MainMapActivity.cha + "");
449 449
        String token = String.valueOf(updatetime);
450 450
        String encode_token = DES3.encode(token);
451
        String replace = URLEncoder.encode(encode_token);
451
        String replace = URLEncoder.encode(encode_token, "UTF-8");
452 452
        String url = MainApplication.url + "/zhannew/basic/web/index.php/tpmember/logout?phone="
453
                + MainApplication.userPhone + "&password=" + URLEncoder.encode(MainApplication.userPassword) + "&token=" + replace
454
                + "&imei=" + "android_" + MainApplication.imei + "&registration_id=" + MainApplication.push_id;
453
                + MainApplication.userPhone + "&password=" + URLEncoder.encode(MainApplication.userPassword, "UTF-8") + "&token=" + replace
454
                + "&imei=" + "android_" + MainApplication.imei + "&registration_id=" + MainApplication.getInstance().getPushID();
455 455
        Log.i("token解密:", DES3.decode(encode_token));
456 456
        OkHttpUtils.get()
457 457
                .url(url)

+ 17 - 32
app/src/main/java/com/electric/chargingpile/application/MainApplication.java

@ -9,8 +9,10 @@ import android.os.Build;
9 9
import android.os.Bundle;
10 10
import android.os.Environment;
11 11
import android.os.StrictMode;
12

12 13
import androidx.multidex.MultiDexApplication;
13 14

15
import android.text.TextUtils;
14 16
import android.util.Log;
15 17

16 18
import com.amap.api.maps.model.LatLng;
@ -21,6 +23,7 @@ import com.electric.chargingpile.data.AdDetail;
21 23
import com.electric.chargingpile.data.Zhan;
22 24
import com.electric.chargingpile.gen.DaoMaster;
23 25
import com.electric.chargingpile.gen.DaoSession;
26
import com.electric.chargingpile.manager.PreferenceManager;
24 27
import com.electric.chargingpile.manager.ProfileManager;
25 28
import com.electric.chargingpile.util.SharedPreferencesHelper;
26 29
import com.mob.MobSDK;
@ -79,7 +82,7 @@ public class MainApplication extends MultiDexApplication {
79 82
//    public static String url = "http://cdz.evcharge.cc";// 充电桩正式环境
80 83
//    public static String pic_url = "http://cdz.evcharge.cc/zhannew/uploadfile/";
81 84

82
//    public static String urlNew = "http://123.56.67.7:83/api/0300";// 一电测试环境
85
    //    public static String urlNew = "http://123.56.67.7:83/api/0300";// 一电测试环境
83 86
    public static String urlNew = "https://api.touchev.com:83/api/0300";// 一电正式环境
84 87

85 88

@ -94,7 +97,7 @@ public class MainApplication extends MultiDexApplication {
94 97
    public static String suitcar = "";
95 98
    public static Boolean gestureguide;
96 99
    public static String h5_url = "";
97
    public static String push_id = "";
100
    private String pushID = "";
98 101
    public static String imei = "";
99 102
    public static String current_url = "";
100 103
    public static String goods_type = "";
@ -156,22 +159,6 @@ public class MainApplication extends MultiDexApplication {
156 159
        JPushInterface.setDebugMode(true);
157 160
        JPushInterface.init(this);
158 161

159

160
        String rid = JPushInterface.getRegistrationID(getApplicationContext());
161
        push_id = rid;
162
        Intent intent = new Intent();
163
        if (JPushInterface.ACTION_NOTIFICATION_OPENED.equals(intent.getAction())) {
164
            Bundle bundle = intent.getExtras();
165
            String extras = bundle.getString(JPushInterface.EXTRA_EXTRA);
166
            try {
167
                JSONObject jsonObject = new JSONObject(extras);
168
                String url = jsonObject.getString("extra");
169
                Log.e("extra==", url);
170
            } catch (JSONException e) {
171
                e.printStackTrace();
172
            }
173
        }
174

175 162
        CrashReport.initCrashReport(getApplicationContext(), "900010422", BuildConfig.DEBUG);
176 163
        initImageLoader(getApplicationContext());
177 164

@ -181,7 +168,6 @@ public class MainApplication extends MultiDexApplication {
181 168
        } catch (IOException e) {
182 169
            e.printStackTrace();
183 170
        }
184
//		SDKInitializer.initialize(getApplicationContext());
185 171

186 172
        mScreenWidth = getResources().getDisplayMetrics().widthPixels;
187 173
        mScreenHeight = getResources().getDisplayMetrics().heightPixels;
@ -201,7 +187,6 @@ public class MainApplication extends MultiDexApplication {
201 187
        msgOne = ProfileManager.getInstance().getMsgOne(getApplicationContext());
202 188
        msgTime = ProfileManager.getInstance().getSystemMsgTime(getApplicationContext());
203 189
        firstOpenTime = ProfileManager.getInstance().getFirstOpenTime(getApplicationContext());
204
//		msgTwo = ProfileManager.getInstance().getMsgTwo(getApplicationContext());
205 190

206 191
        loginRemind();
207 192
        setFestival();
@ -234,23 +219,11 @@ public class MainApplication extends MultiDexApplication {
234 219
                .imageScaleType(ImageScaleType.IN_SAMPLE_INT).resetViewBeforeLoading(false).bitmapConfig(Bitmap.Config.RGB_565).build();
235 220
    }
236 221

237
//	public void showTextToast(String msg) {
238
//		if (toast == null) {
239
//			toast = Toast.makeText(getApplicationContext(), msg, Toast.LENGTH_SHORT);
240
//		} else {
241
//			toast.setText(msg);
242
//		}
243
//		toast.show();
244
//	}
245

246

247 222
    public static boolean isLogin() {
248 223
        if ("".equals(userPhone)) {
249 224
            return false;
250 225
        }
251

252 226
        return true;
253

254 227
    }
255 228

256 229
    private void loginRemind() {
@ -296,6 +269,18 @@ public class MainApplication extends MultiDexApplication {
296 269
        return db;
297 270
    }
298 271

272
    public String getPushID() {
273
        if (TextUtils.isEmpty(pushID)) {
274
            return ProfileManager.getInstance().getPushID(getApplicationContext());
275
        } else {
276
            return pushID;
277
        }
278
    }
279

280
    public void setPushID(String pushID) {
281
        this.pushID = pushID;
282
        ProfileManager.getInstance().setPushID(getApplicationContext(), pushID);
283
    }
299 284
}
300 285

301 286


+ 206 - 0
app/src/main/java/com/electric/chargingpile/jpush/PushMessageReceiver.java

@ -0,0 +1,206 @@
1
package com.electric.chargingpile.jpush;
2
3
import android.app.Activity;
4
import android.content.Context;
5
import android.content.DialogInterface;
6
import android.content.Intent;
7
import android.os.Bundle;
8
import android.text.TextUtils;
9
import android.util.Log;
10
import android.webkit.WebView;
11
12
import com.alibaba.fastjson.JSON;
13
import com.electric.chargingpile.activity.AccountRechargeActivity;
14
import com.electric.chargingpile.activity.CarOwnerCertificateListActivity;
15
import com.electric.chargingpile.activity.CreditActivity;
16
import com.electric.chargingpile.activity.LoginActivity;
17
import com.electric.chargingpile.activity.MainMapActivity;
18
import com.electric.chargingpile.activity.MyBalanceActivity;
19
import com.electric.chargingpile.activity.MyMessageActivity;
20
import com.electric.chargingpile.activity.MyWebViewActivity;
21
import com.electric.chargingpile.activity.RankingListActivity;
22
import com.electric.chargingpile.activity.UserCenterActivity;
23
import com.electric.chargingpile.application.MainApplication;
24
import com.electric.chargingpile.data.ChargingShareBean;
25
import com.electric.chargingpile.util.DES3;
26
import com.google.gson.Gson;
27
import com.google.gson.JsonObject;
28
import com.umeng.analytics.MobclickAgent;
29
30
import org.json.JSONException;
31
import org.json.JSONObject;
32
33
import java.net.URLEncoder;
34
35
import cn.jpush.android.api.CmdMessage;
36
import cn.jpush.android.api.CustomMessage;
37
import cn.jpush.android.api.JPushInterface;
38
import cn.jpush.android.api.JPushMessage;
39
import cn.jpush.android.api.NotificationMessage;
40
import cn.jpush.android.service.JPushMessageReceiver;
41
42
public class PushMessageReceiver extends JPushMessageReceiver {
43
    private static final String TAG = "PushMessageReceiver";
44
45
    @Override
46
    public void onMessage(Context context, CustomMessage customMessage) {
47
        Log.e(TAG, "[onMessage] " + customMessage);
48
        processCustomMessage(context, customMessage);
49
    }
50
51
    @Override
52
    public void onNotifyMessageOpened(Context context, NotificationMessage message) {
53
        Log.e(TAG, "[onNotifyMessageOpened] " + message);
54
        try {
55
            String extras = message.notificationExtras;
56
            JSONObject jsonObject = new JSONObject(extras);
57
58
            String type = jsonObject.getString("type");
59
            String url = jsonObject.getString("customUrl");
60
            if (!TextUtils.isEmpty(type)) {
61
                handleNotifyMessage(context, type, url);
62
            }
63
        } catch (Throwable throwable) {
64
            throwable.printStackTrace();
65
        }
66
    }
67
68
    @Override
69
    public void onMultiActionClicked(Context context, Intent intent) {
70
        Log.e(TAG, "[onMultiActionClicked] 用户点击了通知栏按钮");
71
        String nActionExtra = intent.getExtras().getString(JPushInterface.EXTRA_NOTIFICATION_ACTION_EXTRA);
72
73
        //开发者根据不同 Action 携带的 extra 字段来分配不同的动作。
74
        if (nActionExtra == null) {
75
            Log.d(TAG, "ACTION_NOTIFICATION_CLICK_ACTION nActionExtra is null");
76
            return;
77
        }
78
        if (nActionExtra.equals("my_extra1")) {
79
            Log.e(TAG, "[onMultiActionClicked] 用户点击通知栏按钮一");
80
        } else if (nActionExtra.equals("my_extra2")) {
81
            Log.e(TAG, "[onMultiActionClicked] 用户点击通知栏按钮二");
82
        } else if (nActionExtra.equals("my_extra3")) {
83
            Log.e(TAG, "[onMultiActionClicked] 用户点击通知栏按钮三");
84
        } else {
85
            Log.e(TAG, "[onMultiActionClicked] 用户点击通知栏按钮未定义");
86
        }
87
    }
88
89
    @Override
90
    public void onNotifyMessageArrived(Context context, NotificationMessage message) {
91
        Log.e(TAG, "[onNotifyMessageArrived] " + message);
92
    }
93
94
    @Override
95
    public void onNotifyMessageDismiss(Context context, NotificationMessage message) {
96
        Log.e(TAG, "[onNotifyMessageDismiss] " + message);
97
    }
98
99
    @Override
100
    public void onRegister(Context context, String registrationId) {
101
        Log.e(TAG, "[onRegister] " + registrationId);
102
        MainApplication.getInstance().setPushID(registrationId);
103
    }
104
105
    @Override
106
    public void onConnected(Context context, boolean isConnected) {
107
        Log.e(TAG, "[onConnected] " + isConnected);
108
    }
109
110
    @Override
111
    public void onCommandResult(Context context, CmdMessage cmdMessage) {
112
        Log.e(TAG, "[onCommandResult] " + cmdMessage);
113
    }
114
115
    @Override
116
    public void onTagOperatorResult(Context context, JPushMessage jPushMessage) {
117
        super.onTagOperatorResult(context, jPushMessage);
118
    }
119
120
    @Override
121
    public void onCheckTagOperatorResult(Context context, JPushMessage jPushMessage) {
122
        super.onCheckTagOperatorResult(context, jPushMessage);
123
    }
124
125
    @Override
126
    public void onAliasOperatorResult(Context context, JPushMessage jPushMessage) {
127
        super.onAliasOperatorResult(context, jPushMessage);
128
    }
129
130
    @Override
131
    public void onMobileNumberOperatorResult(Context context, JPushMessage jPushMessage) {
132
        super.onMobileNumberOperatorResult(context, jPushMessage);
133
    }
134
135
    //send msg to MainActivity
136
    private void processCustomMessage(Context context, CustomMessage customMessage) {
137
    }
138
139
    @Override
140
    public void onNotificationSettingsCheck(Context context, boolean isOn, int source) {
141
        super.onNotificationSettingsCheck(context, isOn, source);
142
        Log.e(TAG, "[onNotificationSettingsCheck] isOn:" + isOn + ",source:" + source);
143
    }
144
145
    private void handleNotifyMessage(Context context, String type, String url) {
146
        Intent intent = null;
147
        if ("PushRedBag".equals(type) && MainApplication.isLogin()) {
148
            long tokenTime = System.currentTimeMillis() / 1000 - MainMapActivity.cha - 1;
149
            try {
150
                String token = DES3.encode(String.valueOf(tokenTime));
151
                token = URLEncoder.encode(token, "UTF-8");
152
                intent = new Intent(context, MyWebViewActivity.class);
153
                intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
154
                String webURL = MainApplication.url + "/zhannew/basic/web/index.php/discount/redlist?userid=" + MainApplication.userId + "&token=" + token;
155
                intent.putExtra("url", webURL);
156
                context.startActivity(intent);
157
                MobclickAgent.onEvent(context, "0808");
158
            } catch (Exception e) {
159
                e.printStackTrace();
160
            }
161
        } else if ("PushWeb".equals(type) && !TextUtils.isEmpty(url)) {
162
            intent = new Intent(context, MyWebViewActivity.class);
163
            intent.putExtra("url", url);
164
            intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
165
            context.startActivity(intent);
166
        } else if ("PushComment".equals(type)) {
167
            intent = new Intent(context, MyMessageActivity.class);
168
            intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
169
            context.startActivity(intent);
170
        } else if ("PushBalance".equals(type) && MainApplication.isLogin()) {
171
            intent = new Intent(context, MyBalanceActivity.class);
172
            intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
173
            context.startActivity(intent);
174
        } else if ("PushRanking".equals(type) && MainApplication.isLogin()) {
175
            intent = new Intent(context, RankingListActivity.class);
176
            intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
177
            context.startActivity(intent);
178
        } else if ("PushRecharge".equals(type) && MainApplication.isLogin()) {
179
            intent = new Intent(context, AccountRechargeActivity.class);
180
            intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
181
            context.startActivity(intent);
182
        } else if ("PushInvite".equals(type) && MainApplication.isLogin()) {
183
            intent = new Intent(context, MyWebViewActivity.class);
184
            intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
185
            intent.putExtra("url", "https://evcharge.cc/cdz/yqm.html?code=" + UserCenterActivity.getShareNo(Integer.parseInt(MainApplication.userId)) + "&phone=" + MainApplication.userPhone);
186
            context.startActivity(intent);
187
        } else if (("first".equals(type) || "second".equals(type) || "three".equals(type)) && MainApplication.isLogin()) {
188
            long tokenTime = System.currentTimeMillis() / 1000 - MainMapActivity.cha - 1;
189
            try {
190
                String token = DES3.encode(String.valueOf(tokenTime));
191
                token = URLEncoder.encode(token, "UTF-8");
192
                intent = new Intent(context, MyWebViewActivity.class);
193
                intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
194
                String webURL = MainApplication.url + "/zhannew/basic/web/index.php/discount/redlist?userid=" + MainApplication.userId + "&token=" + token;
195
                intent.putExtra("url", webURL);
196
                context.startActivity(intent);
197
            } catch (Exception e) {
198
                e.printStackTrace();
199
            }
200
        } else {
201
            intent = new Intent(context, MainMapActivity.class);
202
            intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
203
            context.startActivity(intent);
204
        }
205
    }
206
}

+ 9 - 0
app/src/main/java/com/electric/chargingpile/manager/ProfileManager.java

@ -69,6 +69,7 @@ public class ProfileManager {
69 69
    private static final String KEY_CLICKED_USER_PUBLISH_ROLE = "key_clicked_user_publish_role";
70 70
    private static final String KEY_MAKE_SURE_NETWORK_FOR_VIDEO = "key_make_sure_network_for_video";
71 71
    private static final String KEY_DEVICE_ID = "key_device_id";
72
    private static final String KEY_PUSH_ID = "key_push_id";
72 73

73 74
    private static ProfileManager instance;
74 75
    private String deviceId;
@ -643,4 +644,12 @@ public class ProfileManager {
643 644
    public void setMsgChargingStatusNo(Context context, int id) {
644 645
        PreferenceManager.getInstance(context).putInt(KEY_MESSAGE_STATUS_CHARGING_NO, id);
645 646
    }
647

648
    public void setPushID(Context context, String pushID) {
649
        PreferenceManager.getInstance(context).putString(KEY_PUSH_ID, pushID);
650
    }
651

652
    public String getPushID(Context context) {
653
        return PreferenceManager.getInstance(context).getString(KEY_PUSH_ID, "");
654
    }
646 655
}

+ 0 - 181
app/src/main/java/com/electric/chargingpile/view/MyReceiver.java

@ -1,181 +0,0 @@
1
package com.electric.chargingpile.view;
2
3
import android.content.BroadcastReceiver;
4
import android.content.Context;
5
import android.content.Intent;
6
import android.os.Bundle;
7
import android.util.Log;
8
9
import com.electric.chargingpile.activity.MainActicity;
10
import com.electric.chargingpile.activity.MainMapActivity;
11
import com.electric.chargingpile.activity.MyWebViewActivity;
12
import com.electric.chargingpile.activity.WelcomeActivity;
13
import com.electric.chargingpile.application.MainApplication;
14
import com.electric.chargingpile.util.DES3;
15
import com.electric.chargingpile.util.ExampleUtil;
16
import com.umeng.analytics.MobclickAgent;
17
18
import org.json.JSONException;
19
import org.json.JSONObject;
20
21
import java.net.URLEncoder;
22
import java.util.Iterator;
23
24
import cn.jpush.android.api.JPushInterface;
25
26
/**
27
 * 自定义接收器
28
 * <p>
29
 * 如果不定义这个 Receiver,则:
30
 * 1) 默认用户会打开主界面
31
 * 2) 接收不到自定义消息
32
 */
33
public class MyReceiver extends BroadcastReceiver {
34
    private static final String TAG = "JPush";
35
36
    @Override
37
    public void onReceive(Context context, Intent intent) {
38
        Bundle bundle = intent.getExtras();
39
        Log.d(TAG, "[MyReceiver] onReceive - " + intent.getAction() + ", extras: " + printBundle(bundle));
40
41
        if (JPushInterface.ACTION_REGISTRATION_ID.equals(intent.getAction())) {
42
            String regId = bundle.getString(JPushInterface.EXTRA_REGISTRATION_ID);
43
            Log.d(TAG, "[MyReceiver] 接收Registration Id : " + regId);
44
            //send the Registration Id to your server...
45
46
        } else if (JPushInterface.ACTION_MESSAGE_RECEIVED.equals(intent.getAction())) {
47
            Log.d(TAG, "[MyReceiver] 接收到推送下来的自定义消息: " + bundle.getString(JPushInterface.EXTRA_MESSAGE));
48
            processCustomMessage(context, bundle);
49
50
        } else if (JPushInterface.ACTION_NOTIFICATION_RECEIVED.equals(intent.getAction())) {
51
            Log.d(TAG, "[MyReceiver] 接收到推送下来的通知");
52
            int notifactionId = bundle.getInt(JPushInterface.EXTRA_NOTIFICATION_ID);
53
            JPushInterface.reportNotificationOpened(context, bundle.getString(JPushInterface.EXTRA_MSG_ID));
54
            Log.d(TAG, "[MyReceiver] 接收到推送下来的通知的ID: " + notifactionId);
55
            String extras = bundle.getString(JPushInterface.EXTRA_EXTRA);//获取附加字段,是一个json数组
56
            Log.e("extra:", extras);
57
58
        } else if (JPushInterface.ACTION_NOTIFICATION_OPENED.equals(intent.getAction())) {
59
            Log.d(TAG, "[MyReceiver] 用户点击打开了通知");
60
61
//			openNotification(context,bundle);
62
            String extras = bundle.getString(JPushInterface.EXTRA_EXTRA);//获取附加字段,是一个json数组
63
            Log.e("extra:", extras);
64
65
            JSONObject json = null;
66
            try {
67
                json = new JSONObject(extras);
68
            } catch (JSONException e) {
69
                e.printStackTrace();
70
            }
71
            //进行json.getString("Article")操作时,要保证这里的Article与服务器上的Article一模一样,不然回报空指针异常
72
            String articleUrl = "";//获取附加字段Article,对应的值为articleUrl
73
            String type = "";
74
            try {
75
                articleUrl = json.getString("customUrl");
76
                type = json.getString("type");
77
78
//				if (type.equals("PushWeb")){
79
                MainApplication.h5_url = articleUrl;
80
                MainApplication.type = type;
81
//				}else if (type.equals("PushComment")){
82
//					MainApplication.h5_url = "111";
83
//					MainApplication.type = type;
84
//				}
85
86
87
            } catch (JSONException e) {
88
                e.printStackTrace();
89
            }
90
//			Log.e("articleUrl:", articleUrl);
91
            //打开自定义的Activity
92
            if ("PushRedBag".equals(type)) {
93
                long appTime4 = System.currentTimeMillis() / 1000;
94
                long updatetime4 = appTime4 - MainMapActivity.cha - 1;
95
                String token4 = String.valueOf(updatetime4);
96
                Intent intent4 = new Intent(context, MyWebViewActivity.class);
97
                String web1 = null;
98
                try {
99
                    web1 = MainApplication.url + "/zhannew/basic/web/index.php/discount/redlist?userid=" + MainApplication.userId + "&token=" + URLEncoder.encode(DES3.encode(token4));
100
                } catch (Exception e) {
101
                    e.printStackTrace();
102
                }
103
                intent4.putExtra("url", web1);
104
                context.startActivity(intent4);
105
                MobclickAgent.onEvent(context, "0808");
106
            } else {
107
                Intent i = new Intent(context, WelcomeActivity.class);
108
                i.putExtras(bundle);
109
                i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
110
                context.startActivity(i);
111
            }
112
        } else if (JPushInterface.ACTION_RICHPUSH_CALLBACK.equals(intent.getAction())) {
113
            Log.d(TAG, "[MyReceiver] 用户收到到RICH PUSH CALLBACK: " + bundle.getString(JPushInterface.EXTRA_EXTRA));
114
            //在这里根据 JPushInterface.EXTRA_EXTRA 的内容处理代码,比如打开新的Activity, 打开一个网页等..
115
116
        } else if (JPushInterface.ACTION_CONNECTION_CHANGE.equals(intent.getAction())) {
117
            boolean connected = intent.getBooleanExtra(JPushInterface.EXTRA_CONNECTION_CHANGE, false);
118
            Log.w(TAG, "[MyReceiver]" + intent.getAction() + " connected state change to " + connected);
119
        } else {
120
            Log.d(TAG, "[MyReceiver] Unhandled intent - " + intent.getAction());
121
        }
122
    }
123
124
    // 打印所有的 intent extra 数据
125
    private static String printBundle(Bundle bundle) {
126
        StringBuilder sb = new StringBuilder();
127
        if (bundle != null) {
128
            for (String key : bundle.keySet()) {
129
                if (key.equals(JPushInterface.EXTRA_NOTIFICATION_ID)) {
130
                    sb.append("\nkey:" + key + ", value:" + bundle.getInt(key));
131
                } else if (key.equals(JPushInterface.EXTRA_CONNECTION_CHANGE)) {
132
                    sb.append("\nkey:" + key + ", value:" + bundle.getBoolean(key));
133
                } else if (key.equals(JPushInterface.EXTRA_EXTRA)) {
134
                    if (bundle.getString(JPushInterface.EXTRA_EXTRA).isEmpty()) {
135
                        Log.i(TAG, "This message has no Extra data");
136
                        continue;
137
                    }
138
139
                    try {
140
                        JSONObject json = new JSONObject(bundle.getString(JPushInterface.EXTRA_EXTRA));
141
                        Iterator<String> it = json.keys();
142
143
                        while (it.hasNext()) {
144
                            String myKey = it.next().toString();
145
                            sb.append("\nkey:" + key + ", value: [" +
146
                                    myKey + " - " + json.optString(myKey) + "]");
147
                        }
148
                    } catch (JSONException e) {
149
                        Log.e(TAG, "Get message extra JSON error!");
150
                    }
151
152
                } else {
153
                    sb.append("\nkey:" + key + ", value:" + bundle.getString(key));
154
                }
155
            }
156
        }
157
        return sb.toString();
158
    }
159
160
    //send msg to MainActivity
161
    private void processCustomMessage(Context context, Bundle bundle) {
162
        if (MainActicity.isForeground) {
163
            String message = bundle.getString(JPushInterface.EXTRA_MESSAGE);
164
            String extras = bundle.getString(JPushInterface.EXTRA_EXTRA);
165
            Intent msgIntent = new Intent(MainActicity.MESSAGE_RECEIVED_ACTION);
166
            msgIntent.putExtra(MainActicity.KEY_MESSAGE, message);
167
            if (!ExampleUtil.isEmpty(extras)) {
168
                try {
169
                    JSONObject extraJson = new JSONObject(extras);
170
                    if (null != extraJson && extraJson.length() > 0) {
171
                        msgIntent.putExtra(MainActicity.KEY_EXTRAS, extras);
172
                    }
173
                } catch (JSONException e) {
174
175
                }
176
177
            }
178
            context.sendBroadcast(msgIntent);
179
        }
180
    }
181
}

BIN
app/src/main/jniLibs/armeabi-v7a/libjcore234.so


BIN
app/src/main/jniLibs/armeabi/libjcore234.so


+ 1 - 1
app/src/main/res/layout/activity_car_owner_certificate.xml

@ -354,7 +354,7 @@
354 354
                android:layout_height="wrap_content"
355 355
                android:layout_marginTop="10dp"
356 356
                android:layout_marginBottom="30dp"
357
                android:text="认证说明\n\n1.车型信息和行驶证主页为必填项;\n2.最多可认证三款车型;\n3.默认首款认证车型为主车型;\n4.上传行驶证详细页面,并保证所有信息清晰;\n5.认证成功的首个车型可获得50元充电红包。"
357
                android:text="认证说明\n\n1.车型信息和行驶证主页为必填项;\n2.最多可认证三款车型;\n3.默认首款认证车型为主车型;\n4.上传行驶证详细页面,并保证所有信息清晰;\n5.认证成功的首个车型可获得50元充电优惠券。"
358 358
                android:textColor="#0D1120"
359 359
                android:textSize="14sp"
360 360
                app:layout_constraintBottom_toBottomOf="parent"

cdzApp - Gogs: Go Git Service

充电桩app代码

hy a21d68e07f 更新数据库,更新分享依赖库 лет назад: 2
..
ShareSDK a21d68e07f 更新数据库,更新分享依赖库 лет назад: 2