gpt4 book ai didi

java - onLocationChanged 函数是否调用了 Android 设备的每个 Action ?

转载 作者:搜寻专家 更新时间:2023-11-01 09:02:16 26 4
gpt4 key购买 nike

我使用 onLocationChanged 函数来识别用户的位置,我希望它发生在 Android 手机的每一次移动

函数调用的确切时间?

我的代码是这样的:

locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);  
locationListener = new GPSLocationListener();
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener);

GPSLocationListener:

public class GPSLocationListener extends DroidGap implements LocationListener 
{
@Override
public void onLocationChanged(Location location) {
AlertDialog.Builder alt_bld = new AlertDialog.Builder(this);
alt_bld.setMessage("onLocationChanged");
AlertDialog alert = alt_bld.create();
alert.show();
}

@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

}
}

永远不会出现 onLocationChanged 警报。

最佳答案

根据这个链接: http://developer.android.com/reference/android/location/LocationListener.html#onLocationChanged(android.location.Location ) 每次位置发生变化时都会调用该方法。

根据我的观察,它背后有一些逻辑并且它不会每次都改变(例如,当新位置靠近旧位置并且准确性较差时)。

编辑:

“每个小 Action ”最多可以ACCURACY_HIGH...我认为您不能比这更精确。引用:http://developer.android.com/reference/android/location/Criteria.html#ACCURACY_HIGH

编辑 2: 要使用 ACCURACY_HIGH 创建新的 Criteria 对象并使用 setter (setHorizo​​ntalAccuracy, ...) 然后像这样使用它

locationManager.requestLocationUpdates(locationManager.getBestProvider(locationCriteria, true), 1L, 2F, this);

关于java - onLocationChanged 函数是否调用了 Android 设备的每个 Action ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14231632/

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