2011-12-08 23 views
1

我可以使用addProximityAlert設置位置近似警報,並通過廣播接收器接收警報。如何添加僅觸發使用GPS_PROVIDER作爲提供者而不使用NETWORK_PROVIDER的位置近似警報

但我如何能夠識別位置接近警報是從GPS_PROVIDER而不是NETWORK_PROVIDER提供的位置觸發的。我只是想確保警報是從一個準確的位置開除的。

+0

http://developer.android.com/reference/android /location/Location.html#getProvider() – Flavio

回答

0

我有完全相反的問題 - 我不希望它使用GPS提供商由於電量消耗。但似乎目前還沒有解決方案。我可能正在研究的一件事是將位置半徑設置得更高 - 希望1000米半徑自動不會使用GPS。在我目前的測試中,似乎250米的半徑肯定會觸發GPS定位。在leas

0

我讀了ProximityAlerts使用兩個網絡和GPS提供商的各種來源,所以我認爲它確實取決於指定的半徑。 在我的測試中,如果我啓用了GPS,但設置了1000米的半徑,它會以使我認爲它使用網絡提供者的方式觸發警報,因爲我確信我已超過1000半徑(因此檢測到的位置通過該設備只能近似)

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」,以便使用網絡提供的位置

相關問題