package com.yeshi.location.plugins; import android.content.Context; import com.ut.device.UTDevice; import com.yeshi.location.utils.ManifestDataUtil; import java.util.Map; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import io.flutter.plugin.common.BasicMessageChannel; import io.flutter.plugin.common.BinaryMessenger; import io.flutter.plugin.common.StandardMessageCodec; public class DeviceUtilPlugins implements BasicMessageChannel.MessageHandler { private static final String TAG = "DeviceUtil"; private final Context activity; private final BasicMessageChannel messageChannel; private DeviceUtilPlugins(Context activity, BinaryMessenger messager) { this.activity = activity; this.messageChannel = new BasicMessageChannel(messager, "DeviceUtil", StandardMessageCodec.INSTANCE); messageChannel.setMessageHandler(this); } public static DeviceUtilPlugins registerWith(Context activity, BinaryMessenger messager) { return new DeviceUtilPlugins(activity, messager); } @Override public void onMessage(@Nullable Object message, @NonNull BasicMessageChannel.Reply reply) { Map arguments = (Map) message; String method = arguments.get("method"); switch (method) { //初始化 case "getUtdid": reply.reply(UTDevice.getUtdid(activity)); break; case "getChannel": String channel = ManifestDataUtil.getAppMetaData(activity, "UMENG_CHANNEL"); reply.reply(channel); break; } } }