繁体   English   中英

在flutter + android中捕获来电事件

[英]Catching Incoming call events in flutter+android

我在理解与 Android BroadcastReceiver相关的一些概念时遇到了一些问题。 我的目标是在后台(即应用程序未运行时)收听来电。 我也在 Flutter 中编码,所以我创建了一个flutter plugin 已经有一个用于 SMS 的库: telephony 我研究了上述插件的代码。 有一个IncomingSmsReceiver扩展了BroadcastReceiver ,它接收所有短信并相应地处理它(当应用程序处于后台或未运行时,它会创建一个Isolate并在该隔离内运行用户指定的回调)。

需要注意的另一件事是,每当我关闭应用程序时, IncomingSmsReceiver都会在不同的进程中运行,这从adb logcat的以下几行中可以看出

D Zygote  : Forked child process 6287
I ActivityManager: Start proc 6287:org.sudipta.sms_handler_example/u0a525 for broadcast {org.sudipta.sms_handler_example/com.shounakmulay.telephony.sms.IncomingSmsReceiver}

只有当我关闭我的应用程序时,才会派生这个子进程。 我不确定这种行为是如何实现的。 谁能帮我解决这个问题? 我不确定它是否具有特定的行为,或者它是否在BroadcastReceiver本身中有一些配置。

互联网上有很多关于如何保持广播接收器运行(使用Service )的材料。 但是电话插件似乎没有使用任何服务来保持接收器运行。 我只是想了解当我关闭我的应用程序时接收器是如何在不同的进程上运行的。

你的问题对我来说并不完全清楚。 但我认为flutter_call_kitflutter_incoming_call插件可以帮助你

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM