我在我的应用程序的启动活动中使用了LastKnownLoaction来获取位置,如果它返回null,那么我为gps和网络提供者注册了一个位置监听器。请求监听器之后监听任何位置更改我使用startActivity切换到主Activity页面。另外在启动时Actyivity的onLocation在两个Listener中我试图获取位置,如果找到任何值,那么我尝试将它们存储在首选项中并从两个侦听器中删除更新并通知用户有关更新的位置。
答案 0 :(得分:0)
仅当getLastKnownLocation()返回null时才应注册LocationListener,因为这意味着禁用了特定的位置提供程序。同时缓存像位置这样的实时值并不像一个好的设计。我建议为onStart / onStop方法中的每个Activity注册/取消注册LocationListener。