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) { // 在Activity中,可以直接使用this获取LayoutInflater LayoutInflater inflater = LayoutInflater.from(context); // 通过inflate方法将布局文件转换为View对象 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 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 contextWeakReference) { this.contextWeakReference = contextWeakReference; } }; @Override public void onCloseSplash(ViewGroup rootView) { if (rootView != null) rootView.removeView(splashView); } }