繁体   English   中英

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

[英]How to add a location proximity alert that triggers only using GPS_PROVIDER as provider and not using NETWORK_PROVIDER

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

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

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

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

不建议使用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”,以便使用网络提供的位置

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM