我想实现一个Flutter应用程序,它是:
ACL_CONNECTED
触发,然后application/receiver
标签添加到 AndroidManifest.xml
BroadcastReceiver/onReceive
,将处理交给Dart/Flutter注意:使用静态 BroadcastReveiver 将允许跳过启动应用程序并使其在后台运行。
目前还不清楚如何将Android的处理交给Dart/Flutter。如果应用程序正在运行,则可以使用 Android 端的 平台通道:
MethodChannel.invokeMethod
,并通过 Flutter 端的 MethodChannel.setMethodCallHandler
捕获它。
在静态 BroadcastReviever 的情况下,Android 或 Flutter 代码的其他部分都不会被初始化,因此看起来
MethodChannel.invokeMethod
最终会陷入空白。
如何从Android BroadcastReceiver开始Flutter处理?
不幸的是没有明确的答案:
BroadcastReviever
,并且Dart中的回调将被初始化,但我们也应该确保应用程序不会被系统杀死。@mspnr 您可以分享一些解决方案的代码吗?