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 | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 56 insertions(+), 2 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 5752dc6..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,13 +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; @@ -22,13 +33,56 @@ splashView = inflater.inflate(R.layout.activity_b_splash, null); try { //璁剧疆瀵艰埅鏉¤儗鏅鑹� - Activity activity = (Activity) context; - activity.getWindow().setNavigationBarColor(HDLApp.getInstance().getColor(R.color.text_FF161616)); + if (UserConfigManage.getInstance().getUniBottomSafeDistanceBackgroundColor() == 0) { + Activity activity = (Activity) context; + activity.getWindow().setNavigationBarColor(HDLApp.getInstance().getColor(R.color.text_FF1C1C1E)); + } else if (UserConfigManage.getInstance().getUniBottomSafeDistanceBackgroundColor() == 1) { + Activity activity = (Activity) context; + activity.getWindow().setNavigationBarColor(HDLApp.getInstance().getColor(R.color.text_FF000000)); + + } else if (UserConfigManage.getInstance().getUniBottomSafeDistanceBackgroundColor() == 2) { + Activity activity = (Activity) context; + activity.getWindow().setNavigationBarColor(HDLApp.getInstance().getColor(R.color.text_FF000000)); + } } 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