From 4bc924d0ce29560a5e1ad1adf1042de032d954a1 Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期四, 04 十二月 2025 14:50:56 +0800
Subject: [PATCH] 2025年12月04日14:50:54
---
app/src/main/java/com/hdl/photovoltaic/HDLApp.java | 408 +++++++++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 349 insertions(+), 59 deletions(-)
diff --git a/app/src/main/java/com/hdl/photovoltaic/HDLApp.java b/app/src/main/java/com/hdl/photovoltaic/HDLApp.java
index 4062fe9..92eb85a 100644
--- a/app/src/main/java/com/hdl/photovoltaic/HDLApp.java
+++ b/app/src/main/java/com/hdl/photovoltaic/HDLApp.java
@@ -1,12 +1,15 @@
package com.hdl.photovoltaic;
import android.app.Activity;
-import android.app.ActivityManager;
import android.app.Application;
+import android.app.NotificationChannel;
+import android.app.NotificationManager;
import android.content.Context;
import android.content.Intent;
import android.content.res.Configuration;
+import android.graphics.Color;
import android.os.Build;
+import android.os.Handler;
import android.os.LocaleList;
import android.os.Process;
import android.os.SystemClock;
@@ -16,17 +19,31 @@
import androidx.multidex.MultiDex;
+import com.alibaba.sdk.android.push.CloudPushService;
+import com.alibaba.sdk.android.push.CommonCallback;
+import com.alibaba.sdk.android.push.noonesdk.PushInitConfig;
+import com.alibaba.sdk.android.push.noonesdk.PushServiceFactory;
+import com.alibaba.sdk.android.push.register.MiPushRegister;
+import com.alibaba.sdk.android.push.register.OppoRegister;
+import com.google.android.gms.common.ConnectionResult;
+import com.google.android.gms.common.GoogleApiAvailability;
+import com.google.firebase.messaging.FirebaseMessaging;
import com.google.gson.Gson;
import com.hdl.hdlhttp.HxHttpConfig;
import com.hdl.linkpm.sdk.HDLLinkPMSdk;
+import com.hdl.linkpm.sdk.core.exception.HDLException;
import com.hdl.linkpm.sdk.user.HDLLinkPMUser;
import com.hdl.linkpm.sdk.user.callback.IOnReloginListener;
import com.hdl.linkpm.sdk.utils.HDLSDKSPUtils;
import com.hdl.photovoltaic.config.AppConfigManage;
import com.hdl.photovoltaic.config.ConstantManage;
import com.hdl.photovoltaic.config.UserConfigManage;
+import com.hdl.photovoltaic.enums.Languages;
+import com.hdl.photovoltaic.enums.LogoutType;
import com.hdl.photovoltaic.enums.LowerTagType;
import com.hdl.photovoltaic.enums.NetworkType;
+import com.hdl.photovoltaic.listener.CloudCallBeak;
+import com.hdl.photovoltaic.other.HdlAccountLogic;
import com.hdl.photovoltaic.other.HdlDeviceLogic;
import com.hdl.photovoltaic.other.HdlFileLogic;
import com.hdl.photovoltaic.other.HdlLogLogic;
@@ -34,8 +51,10 @@
import com.hdl.photovoltaic.other.HdlResidenceLogic;
import com.hdl.photovoltaic.other.HdlThreadLogic;
import com.hdl.photovoltaic.ui.LoginActivity;
+import com.hdl.photovoltaic.ui.StartActivity;
import com.hdl.photovoltaic.uni.HDLUniMPSDKManager;
import com.hdl.photovoltaic.utils.AppManagerUtils;
+import com.hdl.photovoltaic.utils.BadgeUtils;
import com.hdl.photovoltaic.utils.LocalManageUtil;
import com.hdl.photovoltaic.utils.NetworkUtils;
import com.hdl.photovoltaic.utils.SharedPreUtils;
@@ -44,16 +63,18 @@
import com.hdl.sdk.link.core.connect.HDLUdpConnect;
import com.hdl.sdk.link.core.utils.QueueUtils;
import com.hdl.sdk.link.core.utils.mqtt.MqttRecvClient;
-import com.umeng.commonsdk.UMConfigure;
+import com.umeng.analytics.MobclickAgent;
+//import com.umeng.commonsdk.UMConfigure;
import org.greenrobot.eventbus.EventBus;
+import java.io.Console;
import java.util.HashMap;
import java.util.List;
import java.util.Locale;
import java.util.Objects;
-import cn.jpush.android.api.JPushInterface;
+//import cn.jpush.android.api.JPushInterface;
import io.dcloud.common.util.RuningAcitvityUtil;
import me.jessyan.autosize.AutoSize;
import me.jessyan.autosize.AutoSizeConfig;
@@ -63,7 +84,7 @@
public class HDLApp extends Application {
- final String TAG=HDLApp.class.getName();
+ final String TAG = HDLApp.class.getName();
//鎺у埗鎵撳嵃 Debug妯″紡鎵撳嵃
private Boolean isLogEnabled = true;
//涓夋柟sdk鍒濆鍖栨爣璇�
@@ -88,8 +109,10 @@
@Override
public void onCreate() {
super.onCreate();
+
// // 鑾峰彇褰撳墠杩涚▼鐨凱ID
-// String processMessage= "杩涚▼ID:"+Process.myPid()+" 杩涚▼鍚嶏細"+RuningAcitvityUtil.getAppName(getBaseContext());
+// String processMessage = "杩涚▼Uid:" + Process.myUid() + "杩涚▼ID:" + Process.myPid() + " 杩涚▼鍚嶏細" + RuningAcitvityUtil.getAppName(getBaseContext());
+ Log.d("Application==onCreate", "onCreate");
// Log.d(TAG, processMessage);
// if (RuningAcitvityUtil.getAppName(getBaseContext()).contains(":")) {
// //闈炲師鐢熻繘绋嬶紝鐢ㄥ垵濮嬪寲鍚庨潰鐨�
@@ -99,7 +122,7 @@
SharedPreUtils.init(this);
getAppLanguage();
//棰勫垱寤鸿剼鏈琷son鏂囦欢澶�
- HdlFileLogic.getInstance().createHdlESLocalJsonDirectory();
+ HdlFileLogic.getInstance().createHdlDeviceModelLocalJsonDirectory();
init();
@@ -110,10 +133,12 @@
if (TextUtils.isEmpty(language)) {
//浠庡唴瀛橀噷闈㈣幏鍙栦笉鍒拌瑷�,鑾峰彇褰撳墠绯荤粺鐨�;
String str = getResources().getConfiguration().locale.getLanguage();
- if (str.equals(LocalManageUtil.zh)) {
- UserConfigManage.getInstance().setCurrentAppLanguage(LocalManageUtil.zh);
+ if (str.equals(Languages.zh)) {
+ UserConfigManage.getInstance().setCurrentAppLanguage(Languages.zh);
+ } else if (str.equals(Languages.ar)) {
+ UserConfigManage.getInstance().setCurrentAppLanguage(Languages.ar);
} else {
- UserConfigManage.getInstance().setCurrentAppLanguage(LocalManageUtil.en);
+ UserConfigManage.getInstance().setCurrentAppLanguage(Languages.en);
}
}
}
@@ -170,6 +195,16 @@
initAutoSize();
// //鍒濆鍖栨瀬鍏夋帹閫�
// initJPush();
+// //璋锋瓕鍘熺敓fcm鎺ㄩ��
+// // 妫�鏌� Google Play Services 鍚庡啀鍒濆鍖� FCM
+// if (isGooglePlayServicesAvailable(this)) {
+// initFCM();
+// } else {
+// HdlLogLogic.print("Google Play Services 涓嶅彲鐢紝鏃犳硶浣跨敤 FCM", true);
+// // 鍙互鍦ㄨ繖閲屽垵濮嬪寲澶囬�夋帹閫佹柟妗堬紙濡傞樋閲屼簯鑷缓閫氶亾锛�
+// }
+ //闃块噷浜戞帹閫�
+ initAliYunPush();
initHDLLinkPMSdk();
HDLLinkLocalSdk.getInstance().init(getInstance());
initSocket();
@@ -180,9 +215,49 @@
this.networkMonitoring();
//鍒濆鍖栨湰鍦癮ssets鏂囦欢澶硅祫婧愭枃浠�
// this.initLocalAssetsData();
- //鍒濆鍖栧弸鐩烻DK
- initUMengSDK();
+// //鍒濆鍖栧弸鐩烻DK锛屾斁鍦⊿tartActivity閲岄潰鍒濆鍖�
+// initUMengSDK();
+
+ }
+
+ /**
+ * 鍒濆鍖栭樋閲屼簯鎺ㄩ��
+ */
+ private void initAliYunPush() {
+ PushInitConfig pushInitConfig = new PushInitConfig.Builder()
+ .application(this)
+ .appKey("335628427") //璇峰~鍐欎綘鑷繁鐨刟ppKey锛屼簯绔粰鐨�
+ .appSecret("fd1dabe7ec494c878a5970d8646c83bc") //璇峰~鍐欎綘鑷繁鐨刟ppSecret,浜戠缁欑殑
+ .build();
+ PushServiceFactory.init(pushInitConfig);
+ CloudPushService pushService = PushServiceFactory.getCloudPushService();
+ pushService.register(this, new CommonCallback() {
+ @Override
+ public void onSuccess(String success) {
+ String deviceId = pushService.getDeviceId();
+ Log.d("com.aliyun.emas.pocdemo", "鑾峰彇deviceId " + deviceId);
+ saveToken(deviceId);
+
+ }
+
+ @Override
+ public void onFailed(String errorCode, String errorMessage) {
+ //閿欒鐮佽繛鎺ワ細https://help.aliyun.com/document_detail/434686.html?spm=a2c4g.11186623.0.0.62d3556dC2DqKJ#topic-1824037
+ Log.d("com.aliyun.emas.pocdemo", "鍒濆鍖栧け璐�,閿欒鐮�: " + errorCode + "閿欒淇℃伅: " + errorMessage);
+
+ }
+ });
+ if (AppConfigManage.isDebug()) {
+ //浠呴�傜敤浜嶥ebug鍖咃紝姝e紡鍖呬笉闇�瑕佹琛�
+ pushService.setLogLevel(CloudPushService.LOG_DEBUG);
+ }
+ //灏忕背
+ //appKey/appSecret鍦ㄥ皬绫冲紑鍙戣�呭钩鍙拌幏鍙�
+ MiPushRegister.register(this, "2882303761520382032", "5612038223032");
+ // OPPO閫氶亾娉ㄥ唽
+ //appKey/appSecret鍦∣PPO寮�鍙戣�呭钩鍙拌幏鍙�
+ OppoRegister.register(this, "d80747c83e38442aaa2e5183c310bae0", "86afce21417b49a4984816024b15d4b9");
}
@@ -191,12 +266,12 @@
* 闆嗘垚鏁欑▼鍦板潃锛歨ttps://developer.umeng.com/docs/119267/detail/118588
*/
private void initUMengSDK() {
- UMConfigure.preInit(this, "6801aec0bc47b67d833fd76d", "XenterraSolar");
- //appkey鍜宑hannl蹇呴』淇濇寔鍜岄鍒濆鍖栦竴鑷达紒锛侊紒
- //deviceType锛氳澶囩被鍨嬶紝UMConfigure.DEVICE_TYPE_PHONE涓烘墜鏈恒�乁MConfigure.DEVICE_TYPE_BOX涓虹洅瀛�
- //pushSecret锛歅ush鎺ㄩ�佷笟鍔$殑secret
- UMConfigure.init(this, "6801aec0bc47b67d833fd76d", "XenterraSolar", UMConfigure.DEVICE_TYPE_PHONE, "");
- UMConfigure.setLogEnabled(false);//AppConfigManage.isDebug()
+// UMConfigure.preInit(this, "6801aec0bc47b67d833fd76d", "XenterraSolar");
+// //appkey鍜宑hannl蹇呴』淇濇寔鍜岄鍒濆鍖栦竴鑷达紒锛侊紒
+// //deviceType锛氳澶囩被鍨嬶紝UMConfigure.DEVICE_TYPE_PHONE涓烘墜鏈恒�乁MConfigure.DEVICE_TYPE_BOX涓虹洅瀛�
+// //pushSecret锛歅ush鎺ㄩ�佷笟鍔$殑secret
+// UMConfigure.init(this, "6801aec0bc47b67d833fd76d", "XenterraSolar", UMConfigure.DEVICE_TYPE_PHONE, "");
+// UMConfigure.setLogEnabled(false);//AppConfigManage.isDebug()
}
@@ -211,7 +286,7 @@
if (TextUtils.isEmpty(UserConfigManage.getInstance().getCurrentAppLanguage())) {
//榛樿閰嶇疆鎺ュ彛璇锋眰璇█鏄嫳鏂�
- UserConfigManage.getInstance().setCurrentAppLanguage(LocalManageUtil.en);
+ UserConfigManage.getInstance().setCurrentAppLanguage(Languages.en);
}
//3.閰嶇疆鎺ュ彛璇锋眰璇█
HDLLinkPMSdk.setLanguage(UserConfigManage.getInstance().getCurrentAppLanguage());
@@ -228,52 +303,151 @@
HDLLinkPMUser.getInstance().setOnReloginListener(new IOnReloginListener() {
@Override
public void onReLogin(int type) {
-
- HdlLogLogic.print("鐩戝惉鍒扮櫥褰曢��鍑�---" + type, true);
- //type: 0:姝e父閫�鍑� 1锛氭瀬鍏夋帹閫佸己鍒堕��鍑�
- //鏀跺埌鐧诲綍澶勭悊閫氱煡锛屽叧闂墍鏈夐〉闈㈠苟鎵撳紑鐧诲綍椤甸潰
- AppManagerUtils.getAppManager().finishAllActivity();
-// HDLSDKSPUtils.clear();//搴曞眰鑷繁娓呯┖
-
- //閲嶆柊鐧婚檰,榛樿鍚屾剰闅愮鏀跨瓥
- UserConfigManage.getInstance().setAcceiptPolicy(false);
- //閲嶆柊璁惧畾涓�涓椂闂�
- UserConfigManage.getInstance().setLoginDateTime(0);
- UserConfigManage.getInstance().Save();
-
- //娓呯┖娑堟伅缂撳瓨鏁版嵁
- HdlMessageLogic.getInstance().clearListMessage();
- //娓呯┖鐢电珯缂撳瓨鏁版嵁
- HdlResidenceLogic.getInstance().clearHouseList();
- //娓呯┖璁惧缂撳瓨鏁版嵁
- HdlDeviceLogic.getInstance().clearDeviceList();
- //娓呯┖缂撳瓨鏁版嵁
- if (mInfoMap != null) {
- mInfoMap.clear();
- }
- //鏂紑mqtt杩炴帴
- if (MqttRecvClient.getInstance() != null) {
- MqttRecvClient.getInstance().disConnect();
- }
- //鏂紑鎵�鏈塼cp杩炴帴涓旀竻绌鸿繛鎺ョ紦瀛�
- // TODO: 10/10/23
+ if (type == LogoutType.ServerSwitchingLogout.getValue()) {
+ new Handler().postDelayed(new Runnable() {
+ @Override
+ public void run() {
+ BadgeUtils.cancelAllNotifications(getApplicationContext());
+ BadgeUtils.clearBadge(getApplicationContext());
+ //鍒囨崲鏈嶅姟鍣ㄥ湴鍧�鐢ㄧ殑
+ UserConfigManage.getInstance().setOnlineServer(!UserConfigManage.getInstance().isOnlineServer());
+ UserConfigManage.getInstance().Save();
+ restartApp(mHDLApp);
+ }
+ }, 500);
+ } else if (type == LogoutType.AbnormalLogout.getValue()) {
+ //寮傚父鎯呭喌-寮哄埗閲嶅惎搴旂敤
+ new Handler().postDelayed(new Runnable() {
+ @Override
+ public void run() {
+ BadgeUtils.cancelAllNotifications(getApplicationContext());
+ BadgeUtils.clearBadge(getApplicationContext());
+ restartApp(mHDLApp);
+ }
+ }, 500);
+ } else if (type == LogoutType.UniLogout.getValue()) {
+ AppManagerUtils.getAppManager().finishAllActivity();
+ //娓呯┖浣忓畢id
+ UserConfigManage.getInstance().setHomeId("");
+ UserConfigManage.getInstance().setAutomaticSkipNoNetworkFlag(true);
+ //閲嶆柊璁惧畾涓�涓椂闂�
+ UserConfigManage.getInstance().setLoginDateTime(0);
+ UserConfigManage.getInstance().Save();
+ //娓呯┖娑堟伅缂撳瓨鏁版嵁
+ HdlMessageLogic.getInstance().clearListMessage();
+ //娓呯┖鐢电珯缂撳瓨鏁版嵁
+ HdlResidenceLogic.getInstance().clearHouseList();
+ //娓呯┖璁惧缂撳瓨鏁版嵁
+ HdlDeviceLogic.getInstance().clearDeviceList();
+ //娓呯┖缂撳瓨鏁版嵁
+ if (mInfoMap != null) {
+ mInfoMap.clear();
+ }
+ //鏂紑mqtt杩炴帴
+ if (MqttRecvClient.getInstance() != null) {
+ MqttRecvClient.getInstance().disConnect();
+ }
+ //鏂紑鎵�鏈塼cp杩炴帴涓旀竻绌鸿繛鎺ョ紦瀛�
+ // TODO: 10/10/23
// TcpSocketBoot.stopAllConnectLinkGateway();
- if (null != HDLUniMPSDKManager.getInstance().getUniMP()) {
- HDLUniMPSDKManager.getInstance().getUniMP().closeUniMP();
+ if (null != HDLUniMPSDKManager.getInstance().getUniMP()) {
+ HDLUniMPSDKManager.getInstance().getUniMP().closeUniMP();
+ }
+ SystemClock.sleep(200);
+ initDCUniMPSDK();
+ BadgeUtils.cancelAllNotifications(getApplicationContext());
+ BadgeUtils.clearBadge(getApplicationContext());
+ Intent intent = new Intent(getInstance(), LoginActivity.class);
+ intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
+ startActivity(intent);
+ } else {
+ HdlLogLogic.print("鐩戝惉鍒扮櫥褰曢��鍑�---" + type, true);
+ //鍒犻櫎鎺ㄩ�乀oken
+// HdlResidenceLogic.getInstance().pushDel(null);
+ //type: 0:姝e父閫�鍑� 1锛氭瀬鍏夋帹閫佸己鍒堕��鍑�
+ //鏀跺埌鐧诲綍澶勭悊閫氱煡锛屽叧闂墍鏈夐〉闈㈠苟鎵撳紑鐧诲綍椤甸潰
+ AppManagerUtils.getAppManager().finishAllActivity();
+ // HDLSDKSPUtils.clear();//搴曞眰鑷繁娓呯┖
+
+ //娓呯┖浣忓畢id
+ UserConfigManage.getInstance().setHomeId("");
+ //閲嶆柊鐧婚檰,榛樿鍚屾剰闅愮鏀跨瓥
+ UserConfigManage.getInstance().setAcceiptPolicy(false);
+ //閲嶆柊璁惧畾涓�涓椂闂�
+ UserConfigManage.getInstance().setLoginDateTime(0);
+ UserConfigManage.getInstance().Save();
+
+ //娓呯┖娑堟伅缂撳瓨鏁版嵁
+ HdlMessageLogic.getInstance().clearListMessage();
+ //娓呯┖鐢电珯缂撳瓨鏁版嵁
+ HdlResidenceLogic.getInstance().clearHouseList();
+ //娓呯┖璁惧缂撳瓨鏁版嵁
+ HdlDeviceLogic.getInstance().clearDeviceList();
+ //娓呯┖缂撳瓨鏁版嵁
+ if (mInfoMap != null) {
+ mInfoMap.clear();
+ }
+ //鏂紑mqtt杩炴帴
+ if (MqttRecvClient.getInstance() != null) {
+ MqttRecvClient.getInstance().disConnect();
+ }
+ //鏂紑鎵�鏈塼cp杩炴帴涓旀竻绌鸿繛鎺ョ紦瀛�
+ // TODO: 10/10/23
+// TcpSocketBoot.stopAllConnectLinkGateway();
+ if (null != HDLUniMPSDKManager.getInstance().getUniMP()) {
+ HDLUniMPSDKManager.getInstance().getUniMP().closeUniMP();
+ }
+ SystemClock.sleep(200);
+ initDCUniMPSDK();
+ BadgeUtils.cancelAllNotifications(getApplicationContext());
+ BadgeUtils.clearBadge(getApplicationContext());
+ Intent intent = new Intent(getInstance(), LoginActivity.class);
+ intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
+ if (type == 1) {
+ intent.putExtra("isJpush", true);
+ }
+ startActivity(intent);
}
- SystemClock.sleep(200);
- initDCUniMPSDK();
- Intent intent = new Intent(getInstance(), LoginActivity.class);
- intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
- if (type == 1) {
- intent.putExtra("isJpush", true);
- }
- startActivity(intent);
}
});
}
+
+ public void test(Context context) {
+// new Handler().postDelayed(() -> {
+// // 1. 璁剧疆寤惰繜閲嶅惎
+// Intent restartIntent = new Intent(context, StartActivity.class);
+// restartIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
+//
+// PendingIntent pendingIntent = PendingIntent.getActivity(
+// context, 0, restartIntent, PendingIntent.FLAG_IMMUTABLE | PendingIntent.FLAG_CANCEL_CURRENT
+// );
+//
+// AlarmManager am1 = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
+// am1.set(AlarmManager.RTC, System.currentTimeMillis() + 300, pendingIntent);
+//
+// int myUid = android.os.Process.myUid();
+// ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
+// String packageName = context.getPackageName();
+//
+// for (ActivityManager.RunningAppProcessInfo proc : am.getRunningAppProcesses()) {
+// if (proc.uid == myUid && proc.processName.startsWith(packageName)) {
+// if (proc.pid != android.os.Process.myPid()) {
+// try {
+// android.os.Process.killProcess(proc.pid);
+// } catch (Exception e) {
+// e.printStackTrace();
+// }
+// }
+// }
+// }
+//
+// // 3. 閫�鍑哄綋鍓嶈繘绋�
+// android.os.Process.killProcess(android.os.Process.myPid());
+// }, 500);
+ }
+
/**
* 鍒濆鍖朥niMPSDK 灏忕▼搴廠DK
@@ -303,9 +477,59 @@
* 鍒濆鍖栨瀬鍏塖DK
*/
private void initJPush() {
- JPushInterface.setDebugMode(true);
- JPushInterface.init(getBaseContext());
+// JPushInterface.setDebugMode(true);
+// JPushInterface.init(getBaseContext());
}
+
+ private void initFCM() {
+ // 鑾峰彇 FCM Token
+ FirebaseMessaging.getInstance().getToken()
+ .addOnCompleteListener(task -> {
+ if (!task.isSuccessful()) {
+ Log.w("FCM", "鑾峰彇 FCM Token 澶辫触", task.getException());
+ return;
+ }
+ // 鑾峰彇鏂扮殑 FCM Token
+ String token = task.getResult();
+ Log.d("FCM", "FCM Token: " + token);
+
+ // 淇濆瓨 token
+ saveToken(token);
+ });
+
+// // 璁㈤槄涓婚锛堝彲閫夛級
+// FirebaseMessaging.getInstance().subscribeToTopic("all_users")
+// .addOnCompleteListener(task -> {
+// String msg = "璁㈤槄涓婚鎴愬姛";
+// if (!task.isSuccessful()) {
+// msg = "璁㈤槄涓婚澶辫触";
+// }
+// Log.d("FCM", msg);
+// });
+ }
+
+ /**
+ * 妫�鏌� Google Play Services 鏄惁鍙敤
+ */
+ private boolean isGooglePlayServicesAvailable(Context context) {
+ GoogleApiAvailability googleApiAvailability = GoogleApiAvailability.getInstance();
+ int resultCode = googleApiAvailability.isGooglePlayServicesAvailable(context);
+ return resultCode == ConnectionResult.SUCCESS;
+ }
+
+ /**
+ * 淇濆瓨浠ょ墝
+ *
+ * @param token 浠ょ墝
+ */
+ public void saveToken(String token) {
+ if (TextUtils.isEmpty(token.trim())) {
+ return;
+ }
+ UserConfigManage.getInstance().setPushToken(token);
+ UserConfigManage.getInstance().Save();
+ }
+
/**
* 鐩戝惉缃戠粶鐘舵�佸彉鍖�
@@ -433,4 +657,70 @@
return this;
}
}
+// private void createNotificationChannel() {
+// if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
+// NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
+// // 閫氱煡娓犻亾鐨刬d銆�
+// String id = "ali_push_channel";
+// // 鐢ㄦ埛鍙互鐪嬪埌鐨勯�氱煡娓犻亾鐨勫悕瀛椼��
+// CharSequence name = "notification channel";
+// // 鐢ㄦ埛鍙互鐪嬪埌鐨勯�氱煡娓犻亾鐨勬弿杩般��
+// String description = "notification description";
+// int importance = NotificationManager.IMPORTANCE_HIGH;
+// NotificationChannel mChannel = new NotificationChannel(id, name, importance);
+// // 閰嶇疆閫氱煡娓犻亾鐨勫睘鎬с��
+// mChannel.setDescription(description);
+// // 璁剧疆閫氱煡鍑虹幇鏃剁殑闂伅锛堝鏋淎ndroid璁惧鏀寔鐨勮瘽锛夈��
+// mChannel.enableLights(true);
+// mChannel.setLightColor(Color.RED);
+// // 璁剧疆閫氱煡鍑虹幇鏃剁殑闇囧姩锛堝鏋淎ndroid璁惧鏀寔鐨勮瘽锛夈��
+// mChannel.enableVibration(true);
+// mChannel.setVibrationPattern(new long[]{100, 200, 300, 400, 500, 400, 300, 200, 400});
+// // 鏈�鍚庡湪notificationmanager涓垱寤鸿閫氱煡娓犻亾銆�
+// mNotificationManager.createNotificationChannel(mChannel);
+// }
+// }
+
+ /**
+ * 閲嶅惎app
+ */
+ private void restartApp(Context context) {
+ try {
+ MobclickAgent.onKillProcess(context);
+ Intent intent = new Intent(context, StartActivity.class);
+ intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
+ context.startActivity(intent);
+ killAppProcess(context);
+ } catch (Exception e) {
+ String a = e.getMessage();
+ }
+ }
+
+ /**
+ * 鍏虫帀app鎵�鏈夎繘绋�
+ *
+ * @param context 涓婁笅鏂�
+ */
+ private void killAppProcess(Context context) {
+// AppManagerUtils.getAppManager().finishAllActivity();
+ try {
+ android.app.ActivityManager manager = (android.app.ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
+ List<android.app.ActivityManager.RunningAppProcessInfo> processInfos = manager.getRunningAppProcesses();
+ // 鍏堟潃鎺夌浉鍏宠繘绋嬶紝鏈�鍚庡啀鏉�鎺変富杩涚▼
+ for (android.app.ActivityManager.RunningAppProcessInfo runningAppProcessInfo : processInfos) {
+ if ((runningAppProcessInfo.uid == android.os.Process.myUid()) && (runningAppProcessInfo.pid != android.os.Process.myPid())) {
+ try {
+ android.os.Process.killProcess(runningAppProcessInfo.pid);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ }
+
+ android.os.Process.killProcess(android.os.Process.myPid());
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ System.exit(0);
+ }
}
--
Gitblit v1.8.0