如何添加仅使用GPS_PROVIDER作为提供程序而不使用NETWORK_PROVIDER触发的位置邻近警报

时间:2011-12-08 07:25:57

标签: android gps android-intent location proximity

我可以使用addProximityAlert设置位置接近警报,并通过广播接收器接收警报。

但是,我如何能够从GPS_PROVIDER提供的位置识别位置接近警报,而不是NETWORK_PROVIDER。我只是想确保从准确的位置发出警报。

3 个答案:

答案 0 :(得分:0)

我有完全相反的问题 - 由于电池耗尽,我不希望它使用GPS提供商。但似乎目前还没有解决方案。我可能正在研究的一件事是将位置半径设置得更高 - 希望半径1000米自动不会使用GPS。在我目前的测试中,似乎半径为250米肯定会触发GPS定位。在leas

答案 1 :(得分:0)

我在各种消息来源上看到ProximityAlerts使用BOTH网络和GPS提供商,所以我认为它确实取决于指定的半径。 在我的测试中,如果我启用了GPS但设置了半径1000米,它会以一种让我认为它正在使用网络提供商的方式触发警报,因为我确定我已经超过了1000半径(因此检测到的位置是该设备只能近似值)

答案 2 :(得分:0)

当手机屏幕关闭,电池耗尽问题时,建议不要使用GPS提供商,但如果您想使用以下信息,仍然可以使用:

LocationListener ll;
LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE );

locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, ll);
locationManager.addProximityAlert(latitude, longitude, radius, -1, proximityIntent);
//you have to define latitude,longitude,radius etc parameters yourself

您可以将“GPS_PROVIDER”更改为“NETWORK_PROVIDER”以使用网络提供的位置