android:当用户启用或禁用“我的位置”设置位置服务时如何引起注意

发布于 2024-10-14 04:06:41 字数 221 浏览 2 评论 0原文

只要设备启动,我就有一个位置服务在后台运行。我通过调用 LocationManager requestLocationUpdate 方法请求网络和 GPS 提供商更新,但是,当通过启用或禁用位置服务更改“我的位置”设置页面时,永远不会调用 onProviderEnabled 或 on ProviderDisabled。所以我想知道每次用户更改位置设置时我的后台服务如何收到通知?我可以在缓存广播消息的接收器模式下执行此操作吗?

I have a Location service that runs in the background as long as the the device is booted. I requested the network and gps provider update by calling LocationManager requestLocationUpdate method, however, when the My Location setting page is changed by enabling or disabling the location service, the onProviderEnabled or on ProviderDisabled are never called. So I want to know how could my background service got notified everytime the user changes the location setting? Can I do it in a receiver mode which caches the broadcast message ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

柠北森屋 2024-10-21 04:06:41

是的,您可以在您的服务中实现一个扩展的 BroadcastReceiver 类来侦听 GPS 开/关广播。但是,当 GPS 打开或关闭时,它不会调用 onProviderEnabled() 方法,而是调用 GpsStatus.OnGpsStatusChanged() 方法。

GPS改变时发送的广播具有事件值:

GPS_EVENT_STARTED
GPS_EVENT_STOPPED

请参阅 BroadcastReceiver API 了解如何实现广播接收器。

Yes, you can implement an extended BroadcastReceiver class within your service that listens for the GPS on/off broadcast. When the GPS is turned on or off though, it doesn't call the onProviderEnabled() method, it calls the GpsStatus.OnGpsStatusChanged() method.

The broadcast sent when the GPS is changed has event values:

GPS_EVENT_STARTED
GPS_EVENT_STOPPED

See the BroadcastReceiver API on how to implement a Broadcast Receiver.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文