根据查找用户位置的
sample app,监听活动中的位置更改是个好主意:
class MyActivity extends Activity implements LocationListener {
@Inject
private LocationManager locationManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, this);
}
@Override
public void onLocationChanged(Location location) {
// do something with location
}
// ...
}
但是,我不确定.当配置发生更改时,我的活动将被销毁并重新创建,下次将自己注册为侦听器.对旧活动的引用是在LocationManager中进行的,不是吗?
如果我将LocationListener提取为单独的对象,我仍然遇到如何通知当前活动有关新位置的问题(不一定与请求活动相同).
有没有什么共同的模式来解决这个问题?
本文讨论了在Android应用中,如何在Activity销毁后重置位置监听,避免旧活动引用导致的问题。作者提出了将LocationListener封装和活动通讯的解决方案,并寻求最佳实践。
996

被折叠的 条评论
为什么被折叠?



