gpt4 book ai didi

android locationlistener 注销监听后继续调用onlocationChanged

转载 作者:行者123 更新时间:2023-11-30 03:56:01 26 4
gpt4 key购买 nike

我有一个获取用户位置的应用程序。我已经在 oncreate() 中注册了 lo​​cationManager 和 listener。我已分别请求并删除了 onResume() 和 onPause() 中的更新。应用程序找到位置并调用 onLocationChanged 的​​ loc 对象上的 getTime(),这是为了获取外部时间,然后与系统时间进行比较。这次是在 applicationObject 中设置的,因此它在应用程序范围内可用。一切正常,我从 applicationObject 时间 setter 方法向用户 toast 。

我发现的是,当我通过修复用户位置找到时间并转到下一个 Activity 时,该应用程序会继续获取另外 20 秒甚至更多的时间。

当我在第一个 Activity 的 onPause() 方法中取消注册位置监听器时,这怎么可能?

    @Override
protected void onPause() {
mlocManager.removeUpdates(mlocListener);
super.onPause();
}


@Override
protected void onResume() {

mlocManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, mlocListener);
super.onResume();
}

private class MyLocationListener implements LocationListener {

@Override
public void onLocationChanged(Location loc) {



Log.e(TAG, "external time = " + loc.getTime());
DateTime dt = new DateTime(loc.getTime());
DateTimeFormatter df3 = DateTimeFormat.forPattern("yyyy-MM-dd H:mm:ss.SSS");
String formattedNowTime3 = df3.print(dt);
Log.e(TAG, "formatted ext time = " + formattedNowTime3);
nfcscannerapplication.setExternalTime(dt);

}

@Override
public void onProviderDisabled(String provider) {
// TODO Auto-generated method stub

}

@Override
public void onProviderEnabled(String provider) {
// TODO Auto-generated method stub

}

@Override
public void onStatusChanged(String provider, int status,
Bundle extras) {
// TODO Auto-generated method stub

}

}//end of MyLocationListener


@Override
protected void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

setContentView(R.layout.entryscreen);

mlocManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
mlocListener = new MyLocationListener();

.

最佳答案

onPause() 只能在新 Activity 开始后调用。

如果您只需要一个onLocationChange(),您可以使用requestSingleUpdate(),问题就迎刃而解了。

问候。

关于android locationlistener 注销监听后继续调用onlocationChanged,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13360123/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com