1

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

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

4

3 回答 3

0

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

于 2013-04-18T16:12:12.303 回答
0

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

于 2012-10-01T14:43:19.717 回答
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”以使用网络提供的位置

于 2016-02-06T07:25:21.350 回答