【发布时间】:2022-10-31 15:56:15
【问题描述】:
我正在尝试在原生 Android 应用程序(我们称之为 A)和 Flutter 应用程序(我们称之为 B)之间建立广播通信。
从应用程序 A,我使用以下模式 (https://developer.android.com/guide/components/broadcasts#sending-broadcasts) 发送广播意图:
Intent intent = new Intent();
intent.setAction("edu.upc.gessi.broadcast.TEST_BROADCAST");
intent.putExtra("name", savedGpxFile.tracks.get(0).name);
intent.putExtra("init_lat", savedGpxFile.tracks.get(0).segments.get(0).points.get(0).getLatitude());
intent.putExtra("init_long", savedGpxFile.tracks.get(0).segments.get(0).points.get(0).getLatitude());
measurementToolFragment.getActivity().sendBroadcast(intent);
已使用广播接收器在同一个应用程序 A 中进行了验证,因此正确发送了广播意图。
另一方面,在应用程序 B 中,我使用 Flutter 包来注册广播接收器 (https://pub.dev/packages/fbroadcast):
FBroadcast.instance().register("edu.upc.gessi.broadcast.TEST_BROADCAST", (value, callback) {
Fluttertoast.showToast(msg: "This is a toast from a broadcast receiver",
toastLength: Toast.LENGTH_LONG,
gravity: ToastGravity.CENTER);
logger.d("This is a log from a broadcast receiver");
});
已通过从同一应用 B 中发送广播意图从同一应用 B 进行验证。
尽管如此,来自应用程序 A 的广播意图永远不会到达应用程序 B。我正在努力寻找对原生 Android 和 Flutter 应用程序之间广播通信的任何引用。我认为机制应该是相同的,但是有问题。
有没有人研究过 Android-Flutter 之间的广播通信?有什么我想念的吗?我还可以尝试哪些其他测试?
谢谢你们。
基姆
【问题讨论】:
标签: android flutter broadcastreceiver