2

当我阅读以下关于使用 PassiveProvider 和 PendingIntents 来帮助维护“新鲜”应用程序的句子时,我正在阅读 Reto Meier 的(非常有用的)Android 开发人员博客文章A Deep Dive into Location :

“如果您的应用程序识别出“退出”的概念(通常是当用户单击主屏幕上的后退按钮时),那么关闭被动位置更新是一种很好的形式 - 包括禁用您的被动清单接收器。

虽然我理解应用程序需要成为 Android 社​​区中的“好公民”,但这是否也违背了使用 PassiveProvider 和 PendingIntents 来帮助确保位置新鲜度的目的?据我了解,关闭被动位置更新将阻止我的应用接收这些更新。如果是这种情况,那么当用户重新启动我的应用程序时,他们是否必须等待另一个位置修复?我知道我可以调用 getLastLocation(),但我只是想知道当您在应用程序退出时明确关闭它们时,PassiveProvider 和 PendingIntents 如何帮助确保新鲜度。

4

1 回答 1

2

好吧,我想答案并不那么明显:

没有真正的方法可以关闭android中的应用程序(我的意思是用户)。但是该博客似乎假设在主应用程序屏幕/活动中点击后退按钮实际上意味着退出应用程序。例如,这就是海豚对按下后退按钮的反应方式。

所以如果人们使用这个按钮,你可以假设他们想要退出你的应用程序,你可以关闭你使用的所有资源,包括被动位置提供者和接收者。

但是,大多数情况下,人们只会点击菜单按钮并以这种方式从一个应用程序切换到另一个应用程序,然后让它们全部打开。在这种情况下,让您的接收器就位,以便您的应用程序保持新鲜,正如 Reto 在他的帖子中所解释的那样。

更新:以这种方式使用后退按钮(关闭应用程序)看起来像是官方的好习惯,这个博客很有趣:http ://www.androiduipatterns.com/2011/03/back-button-behavior.html 。

问候, 斯蒂芬

于 2011-08-01T18:01:22.767 回答