From 819940c20dfb8a0c797b3423a3c0a0c67c9fd955 Mon Sep 17 00:00:00 2001
From: hxb <hxb@hdlchina.com.cn>
Date: 星期五, 27 十二月 2024 18:06:23 +0800
Subject: [PATCH] 处理后台运行被释放的问题
---
app/src/main/java/com/hdl/photovoltaic/uni/BSplashView.java | 43 +++++++++++++++++++++++++++++++++++++++++++
1 files changed, 43 insertions(+), 0 deletions(-)
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)
--
Gitblit v1.8.0