Flutter:当我的应用不在前台时如何显示横幅(如地图/谷歌地图)?

Posted

技术标签:

【中文标题】Flutter:当我的应用不在前台时如何显示横幅(如地图/谷歌地图)?【英文标题】:Flutter: how to display a banner when my app is not in foreground (as Maps / Google Map does)? 【发布时间】:2020-04-09 17:54:33 【问题描述】:

ios 上,当我在行程中使用 Google 地图并按主页按钮显示另一个应用程序时,Google 地图将在我的屏幕顶部显示一个蓝色横幅“Google 地图积极使用您的位置”。即使我打开另一个应用程序,此横幅也是永久性的。

我的理解是,此横幅允许 Google 地图不断接收位置更新并通知用户。

如何为我的 Flutter 应用程序实现相同的效果?适用于 iOS 和 android

蓝色横幅的屏幕截图:

【问题讨论】:

iOS 显示,当没有“始终”位置权限的应用程序在后台使用您的位置时。因此,如果您的应用具有“使用时位置权限”,并且您在位置管理器上设置后台更新并调用startUpdatingLocation,则会显示蓝色指示。 @Paulw11,谢谢!在答案中告诉我如何在 Flutter 中做到这一点?我会接受的 【参考方案1】:

当应用在后台使用您的位置时,会出现蓝色横幅。唯一发生的情况是:1. Location 设置为 Always,2. 您的应用需要以某种方式在后台使用 Location。

【讨论】:

嗯,不。我的应用程序使用“始终”权限并在后台接收通知而没有显示横幅 你的应用有在后台使用定位服务的方法吗? 实际上,昨天的大量测试表明,我在应用程序发送到后台几分钟后才收到位置事件,然后什么也没有。所以我正在寻找一种方法来运行后台进程以在颤动中获取位置,但奇怪的是我找不到关于这个主题的任何好的(即我清楚的)文档

以上是关于Flutter:当我的应用不在前台时如何显示横幅(如地图/谷歌地图)?的主要内容,如果未能解决你的问题,请参考以下文章

在前台单击推送通知横幅后如何触发操作

Flutter Firebase如何控制通知在应用程序处于前台时不显示

Flutter_Messaging 不在真正的 Android 手机上播放声音

Flutter:当应用程序在后台时使用路径提供程序

返回前台时如何在工作灯中显示通知?

为啥我的本地通知没有在 iOS 10 的前台触发?