package com.demo.library_flutter.message; import android.content.Context; import android.content.SharedPreferences; import android.widget.Toast; import com.alibaba.fastjson.JSONObject; import com.idlefish.flutterboost.FlutterBoost; import com.jaeger.library.StatusBarUtil; import java.util.Map; import androidx.annotation.NonNull; import io.flutter.plugin.common.BinaryMessenger; import io.flutter.plugin.common.MethodCall; import io.flutter.plugin.common.MethodChannel; import io.flutter.plugin.common.MethodCodec; import io.flutter.plugin.common.StandardMessageCodec; public class UIMethodChannel extends MethodChannel { public UIMethodChannel(BinaryMessenger messenger, Context context, DataListener dataListener) { super(messenger, "com.yeshi.video/ui", (MethodCodec) StandardMessageCodec.INSTANCE); setMethodCallHandler(new MethodCallHandler() { @Override public void onMethodCall(@NonNull MethodCall call, @NonNull Result result) { switch (call.method) { case "toast": { Toast.makeText(context, call.arguments + "", Toast.LENGTH_SHORT).show(); } break; case "setStatusBarLight": { StatusBarUtil.setLightMode(FlutterBoost.instance().currentActivity()); } break; case "setStatusBarDark": { StatusBarUtil.setDarkMode(FlutterBoost.instance().currentActivity()); } break; case "setStatusBarDefault": if (dataListener.isStatusBarDefaultLight()) { StatusBarUtil.setLightMode(FlutterBoost.instance().currentActivity()); } else { StatusBarUtil.setDarkMode(FlutterBoost.instance().currentActivity()); } break; } } }); } public interface DataListener { //状态栏是否默认浅色 public boolean isStatusBarDefaultLight(); } }