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<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);
|
}
|
}
|