From 90d5f028ccdaaaf64286f9d632cb335a4d0544b9 Mon Sep 17 00:00:00 2001 From: wjc <1243177876@qq.com> Date: 星期二, 07 一月 2025 09:40:52 +0800 Subject: [PATCH] Merge branch '1.5.1' --- app/src/main/java/com/hdl/photovoltaic/uni/CSplashView.java | 75 +++++++++++++++++++++++++++++++++++++ 1 files changed, 75 insertions(+), 0 deletions(-) diff --git a/app/src/main/java/com/hdl/photovoltaic/uni/CSplashView.java b/app/src/main/java/com/hdl/photovoltaic/uni/CSplashView.java new file mode 100755 index 0000000..cc4fa22 --- /dev/null +++ b/app/src/main/java/com/hdl/photovoltaic/uni/CSplashView.java @@ -0,0 +1,75 @@ +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.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; + +public class CSplashView implements IDCUniMPAppSplashView { + View splashView; + + @Override + public View getSplashView(Context context, String appid, String s1, String s2) { + // 鍦ˋctivity涓紝鍙互鐩存帴浣跨敤this鑾峰彇LayoutInflater + LayoutInflater inflater = LayoutInflater.from(context); + // 閫氳繃inflate鏂规硶灏嗗竷灞�鏂囦欢杞崲涓篤iew瀵硅薄 + splashView = inflater.inflate(R.layout.activity_b_splash, null); + //璁剧疆瀵艰埅鏉¤儗鏅鑹� + Activity activity = (Activity) context; + activity.getWindow().setNavigationBarColor(HDLApp.getInstance().getColor(R.color.text_FF1C1C1E)); + //鍙兘閫氳繃杩欑鏂瑰紡璋冪敤 + 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) + rootView.removeView(splashView); + } +} -- Gitblit v1.8.0