【问题标题】:Is it possible to use Broadcast Communication between Android native app and Flutter app?是否可以在 Android 原生应用和 Flutter 应用之间使用广播通信?
【发布时间】: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


    【解决方案1】:

    https://pub.dev/packages/register_broadcast_receiver 我写了一个包来注册广播接收器,希望对你有帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-03
      • 2017-04-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多