requestLocationUpdates不会更新

时间:2013-09-20 08:45:53

标签: android geolocation android-location

我已设置此LocationRequest

private static final int MILLISECONDS_PER_SECOND = 1000;

public static final int UPDATE_INTERVAL_IN_SECONDS = 5;

private static final long UPDATE_INTERVAL = MILLISECONDS_PER_SECOND * UPDATE_INTERVAL_IN_SECONDS;

private static final int FASTEST_INTERVAL_IN_SECONDS = 1;

private static final long FASTEST_INTERVAL = MILLISECONDS_PER_SECOND * FASTEST_INTERVAL_IN_SECONDS;


mLocationClient = new LocationClient(this, this, this);
mLocationRequestHigh = LocationRequest.create();

mLocationRequestHigh.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);

mLocationRequestHigh.setInterval(UPDATE_INTERVAL);

mLocationRequestHigh.setFastestInterval(FASTEST_INTERVAL);

这是我的BaseActivity中的设置,然后是我调用的另一个活动

mLocationClient.requestLocationUpdates(mLocationRequestHigh, this);

然而,这只是搜索位置,但它似乎永远不会得到一个位置。我错过了/做错了什么,或者只是到了我的位置?如果我加载谷歌地图,它会在几秒钟内获得我的位置。

1 个答案:

答案 0 :(得分:1)

Google地图不仅使用GPS,还使用您的网络位置。还有像getLastKnownLocation()这样的方法来获得快速修复。 LocationRequest.PRIORITY_HIGH_ACCURACY意味着您将仅使用GPS,从而等待GPS修复。使用Google Play商店中的“假GPS位置”应用确保GPS是否适用于您的应用。如果它与“假GPS”相比,它只是连接到卫星问题。

您可以在

获取更多详细信息

http://developer.android.com/guide/topics/location/strategies.html

通常,如果您希望自己的应用像Google地图一样执行,则必须遵循上述文章中的所有提示。 Google地图的源代码不公开,因此您不能只复制粘贴代码。