Android:如何取消有意图的位置更新请求?
Posted
技术标签:
【中文标题】Android:如何取消有意图的位置更新请求?【英文标题】:Android: how to cancel a request of Location update with intent? 【发布时间】:2010-06-13 08:52:25 【问题描述】:我向 requestLocationUpdates(provider, minTime, minDistance, PendingIntent) 注册了一个 PendingIntent。但是当我的广播接收器收到这个意图时,我如何使用 removeUpdates(PendingIntent) 删除这个请求?接收者没有对原始 PendingIntent 的引用。
【问题讨论】:
【参考方案1】:您创建一个等效的PendingIntent
。换句话说,创建一个与您最初使用的 Intent
匹配的 Intent
(尽管您可以跳过任何额外内容),将其包装在与您最初使用的相同类型的 PendingIntent
中,然后在 @987654325 中使用 PendingIntent
@调用。
【讨论】:
谢谢。在我的接收者的 onReceive(context, intent) 方法中,我立即调用了 PendingIntent origPendingIntent = PendingIntent.getBroadcast(context,0, intent, PendingIntent.FLAG_UPDATE_CURRENT) 并传入相同的意图以删除更新。但不知何故,它并没有删除更新请求。我仍然可以收到更新。 @wei:尝试摆脱FLAG_UPDATE_CURRENT
,看看是否有帮助。
非常感谢!现在可以了。事实证明,我必须创建一个新的 Intent 实例(不知道为什么)并将标志设置为 0 才能使其工作。以上是关于Android:如何取消有意图的位置更新请求?的主要内容,如果未能解决你的问题,请参考以下文章
Android OkHttp + Retrofit 取消请求的方法