From 13b98b03b11f3865aaafc9daa3ce5b205fa1a228 Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期一, 30 十二月 2024 10:44:33 +0800
Subject: [PATCH] Merge branch '1.5.1' of http://59.41.255.150:6688/r/~wjc/HDLPhotovoltaicDebugAPP into 1.5.1
---
app/src/main/java/com/hdl/photovoltaic/utils/ProcessManagerUtils.java | 27 +++++++++
app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseAndDeviceFragment.java | 3
app/src/main/AndroidManifest.xml | 14 ++++
app/src/main/java/com/hdl/photovoltaic/uni/BSplashView.java | 43 ++++++++++++++
app/src/main/java/com/hdl/photovoltaic/services/UniappService.java | 49 ++++++++++++++++
app/build.gradle | 1
app/libs/uniapp-v8-release.aar | 0
app/src/main/aidl/com/hdl/photovoltaic/IUniappAidlInterface.aidl | 8 ++
8 files changed, 143 insertions(+), 2 deletions(-)
diff --git a/app/build.gradle b/app/build.gradle
index 6880677..c427dd7 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -108,6 +108,7 @@
buildFeatures {
viewBinding true
+ aidl true
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
diff --git a/app/libs/uniapp-v8-release.aar b/app/libs/uniapp-v8-release.aar
index 8c9fdde..a3f4c59 100644
--- a/app/libs/uniapp-v8-release.aar
+++ b/app/libs/uniapp-v8-release.aar
Binary files differ
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 0e023c4..9e9e872 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -74,6 +74,7 @@
android:label="@string/app_name"
android:requestLegacyExternalStorage="true"
android:supportsRtl="true"
+ android:persistent="true"
android:theme="@style/Theme.PhotovoltaicDebug">
<activity
android:name=".ui.newC.PowerStationsMoveActivity"
@@ -214,6 +215,15 @@
android:name="org.eclipse.paho.android.service.MqttService"
android:exported="false" />
+ <service
+ android:name=".services.UniappService"
+ android:enabled="true"
+ android:exported="true">
+ <intent-filter>
+ <action android:name="UniappService.ACTION" />
+ </intent-filter>
+ </service>
+
<meta-data
android:name="design_height_in_dp"
android:value="812" />
@@ -224,5 +234,7 @@
android:name="ScopedStorage"
android:value="true" />
</application>
-
+ <queries>
+ <package android:name="com.hdl.photovoltaic.services"/>
+ </queries>
</manifest>
\ No newline at end of file
diff --git a/app/src/main/aidl/com/hdl/photovoltaic/IUniappAidlInterface.aidl b/app/src/main/aidl/com/hdl/photovoltaic/IUniappAidlInterface.aidl
new file mode 100644
index 0000000..4f4d308
--- /dev/null
+++ b/app/src/main/aidl/com/hdl/photovoltaic/IUniappAidlInterface.aidl
@@ -0,0 +1,8 @@
+// IUniappAidlInterface.aidl
+package com.hdl.photovoltaic;
+
+// Declare any non-default types here with import statements
+
+interface IUniappAidlInterface {
+ void sendMsg(String s);
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/hdl/photovoltaic/services/UniappService.java b/app/src/main/java/com/hdl/photovoltaic/services/UniappService.java
new file mode 100644
index 0000000..2b1706d
--- /dev/null
+++ b/app/src/main/java/com/hdl/photovoltaic/services/UniappService.java
@@ -0,0 +1,49 @@
+package com.hdl.photovoltaic.services;
+
+import android.app.Service;
+import android.content.Intent;
+import android.os.IBinder;
+
+import com.hdl.photovoltaic.IUniappAidlInterface;
+import com.hdl.sdk.link.common.utils.LogUtils;
+
+
+/**
+ * Created by hxb on 2024/12/27.
+ */
+public class UniappService extends Service {
+
+ private static final String TAG = "UniappService";
+
+ public UniappService() {
+
+ }
+
+ IUniappAidlInterface.Stub mIBinder=new IUniappAidlInterface.Stub() {
+
+ @Override
+ public void sendMsg(String mes) {
+ LogUtils.i(TAG,"鏀跺埌璇锋眰鏁版嵁锛�" + mes);
+ }
+ };
+
+ @Override
+
+ public IBinder onBind(Intent intent) {
+ LogUtils.i(TAG,"onBind: intent = "+intent.toString());
+ return mIBinder;
+ }
+
+ @Override
+
+ public boolean onUnbind(Intent intent) {
+ LogUtils.i(TAG,"onUnbind");
+ return super.onUnbind(intent);
+ }
+
+ @Override
+ public void onDestroy() {
+ LogUtils.i(TAG,"onDestroy");
+ super.onDestroy();
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseAndDeviceFragment.java b/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseAndDeviceFragment.java
index 8f3c909..5d4cfe4 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseAndDeviceFragment.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseAndDeviceFragment.java
@@ -5,6 +5,7 @@
import android.content.Intent;
import android.content.pm.PackageManager;
import android.os.Bundle;
+import android.os.SystemClock;
import android.view.View;
import android.view.Window;
import android.widget.ImageView;
@@ -46,6 +47,7 @@
import com.hdl.photovoltaic.ui.bean.StatusOverviewBean;
import com.hdl.photovoltaic.uni.HDLUniMP;
import com.hdl.photovoltaic.utils.PermissionUtils;
+import com.hdl.photovoltaic.utils.ProcessManagerUtils;
import com.hdl.photovoltaic.utils.URLEncodingUtils;
import com.hdl.photovoltaic.widget.DefaultFilteringDialog;
import com.hdl.photovoltaic.widget.DelayedConfirmationCancelDialog;
@@ -281,7 +283,6 @@
HdlResidenceLogic.getInstance().switchHouse(houseIdBean, true);
String path = HDLUniMP.UNI_EVENT_OPEN_HOME_DETAILS + "?homeId=" + houseIdBean.getHomeId() + "&homeName=" + houseIdBean.getHomeName() + "&powerStationStatus=" + houseIdBean.getPowerStationStatus();
HdlUniLogic.getInstance().openUniMP(path, null);
-
}
@Override
diff --git a/app/src/main/java/com/hdl/photovoltaic/uni/BSplashView.java b/app/src/main/java/com/hdl/photovoltaic/uni/BSplashView.java
index 1dae918..b14c39f 100755
--- a/app/src/main/java/com/hdl/photovoltaic/uni/BSplashView.java
+++ b/app/src/main/java/com/hdl/photovoltaic/uni/BSplashView.java
@@ -1,15 +1,24 @@
package com.hdl.photovoltaic.uni;
import android.app.Activity;
+import android.content.ComponentName;
import android.content.Context;
+import android.content.Intent;
+import android.content.ServiceConnection;
+import android.os.IBinder;
+import android.os.SystemClock;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.hdl.photovoltaic.HDLApp;
+import com.hdl.photovoltaic.IUniappAidlInterface;
import com.hdl.photovoltaic.R;
import com.hdl.photovoltaic.config.UserConfigManage;
+import com.hdl.photovoltaic.utils.ProcessManagerUtils;
+
+import java.lang.ref.WeakReference;
import io.dcloud.feature.sdk.Interface.IDCUniMPAppSplashView;
@@ -37,9 +46,43 @@
}
} catch (Exception ignored) {
}
+
+
+
+
+ //鍙兘閫氳繃杩欑鏂瑰紡璋冪敤
+ Intent intent = new Intent();
+ intent.setPackage("com.hdl.photovoltaic");
+ intent.setAction("UniappService.ACTION");
+ context.bindService(intent, stringservice, Context.BIND_AUTO_CREATE);
+
return splashView;
}
+
+ static ServiceConnection stringservice = new ServiceConnection() {
+ private WeakReference<Context> contextWeakReference;
+ @Override
+ public void onServiceConnected(ComponentName componentName, IBinder iBinder) {
+ IUniappAidlInterface iUniappAidlInterface = IUniappAidlInterface.Stub.asInterface(iBinder);
+ try {
+ iUniappAidlInterface.sendMsg("寤虹珛杩炴帴");
+ } catch (Exception e) {
+ }
+ }
+
+ @Override
+ public void onServiceDisconnected(ComponentName componentName) {
+ Log.i("BSplashView", "杩炴帴宸叉柇寮�");
+ Context context = contextWeakReference.get();
+ ProcessManagerUtils.killAllProcess(contextWeakReference.get());
+ }
+
+ public void setContextWeakReference(WeakReference<Context> contextWeakReference) {
+ this.contextWeakReference = contextWeakReference;
+ }
+ };
+
@Override
public void onCloseSplash(ViewGroup rootView) {
if (rootView != null)
diff --git a/app/src/main/java/com/hdl/photovoltaic/utils/ProcessManagerUtils.java b/app/src/main/java/com/hdl/photovoltaic/utils/ProcessManagerUtils.java
new file mode 100644
index 0000000..05649d4
--- /dev/null
+++ b/app/src/main/java/com/hdl/photovoltaic/utils/ProcessManagerUtils.java
@@ -0,0 +1,27 @@
+package com.hdl.photovoltaic.utils;
+
+import android.app.ActivityManager;
+import android.content.Context;
+
+import java.util.List;
+
+/**
+ * Created by hxb on 2024/12/27.
+ */
+public class ProcessManagerUtils {
+
+ //鍒犻櫎褰撳墠搴旂敤鎵�鏈夎繘绋�
+ public static void killAllProcess(Context context) {
+ if(context==null){
+ return;
+ }
+ final ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
+ List<ActivityManager.RunningAppProcessInfo> procList = am.getRunningAppProcesses();
+ for (ActivityManager.RunningAppProcessInfo proc : procList) {
+ if (proc.processName != null && proc.processName.startsWith(context.getPackageName())) {
+ android.os.Process.killProcess(proc.pid);
+ break;
+ }
+ }
+ }
+}
--
Gitblit v1.8.0