我需要使用LocationManager中的addProximityAlert方法添加多個接近警報。問題是,當我收到意圖通知用戶接近我正在偵聽的區域之一時,如果用戶正在進入或退出讀取KEY_PROXIMITY_ENTERING的區域時收到警報,但我不知道區域是什麼他正在進入或退出。有什麼方法可以獲得這種信息?如何在接收到接近警報意圖時接收位置信息?
1
A
回答
1
以及每一個地區多個動作,添加ProximityAlert你需要的PendingIntent,一個PeindingIntent可以PendingIntent.getBroadcast獲得(aContext,aRequestCode,anIntent,0);現在,在第三個參數「anIntent」你可以把你想要的任何數據,如位置的對象,與該位置獲得一個城市的名字,
我這樣做是這樣的:現在
private static final float DEFAULT_PROXIMITY = 1000f;
int requestCode = 0;
for (Location p : locationList) {
Double _lat = p.getLatitude();
Double _lon = p.getLongitude();
float radious = DEFAULT_PROXIMITY;
long expiration = -1;
Intent intent = new Intent(PROXIMITY_ALERT_ACTION_FIRED);
intent.putExtra("location-lat" , p.getLatitude());
intent.putExtra("location-lon" , p.getLongitude());
PendingIntent proximityIntent = PendingIntent.getBroadcast(this, requestCode, intent, 0);
locationManager.addProximityAlert(_lat, _lon, radious, expiration, proximityIntent);
requestCode++;
}
,當你收到廣播消息,你必須從傳遞的意圖獲得位置信息,像這樣;
@Override
public void onReceive(Context context, Intent intent) {
Boolean entering = intent.getBooleanExtra(key, false);
if(entering){
long lat = intent.getLongExtra("location-lat", -1);
long lon = intent.getLongExtra("location-lon", -1);
log.info("", "entering: " + lat + lon);
}else{
long lat = intent.getLongExtra("location-lat", -1);
long lon = intent.getLongExtra("location-lon", -1);
log.info("", "exiting: " + lat + lon);
}
}
歡呼
0
定義你有興趣
相關問題
- 1. 在Android中接收報警
- 2. 接收多信息
- 3. 如何在警報廣播接收器接收事件時更新UI?
- 4. 如何接收TIME_TICK意圖
- 5. 報警接收器多個報警
- 6. 在Android中,我如何堅持接收意圖的信息?
- 7. 刪除廣播接收機內的接近警報android
- 8. 接近警報接收器不會觸發
- 9. 發送圖像信息到接收器
- 10. 如何接收tomcat嚴重警報
- 11. 警報時,當前位置接近標記的Android地圖
- 12. WIFI_STATE_CHANGED_ACTION意圖在連接到WiFi接入點時未收到?
- 13. 廣播接收器未接收觸發報警
- 14. 發送和接收信息
- 15. 短信發送接收器沒有收到意圖
- 16. 如何從C++的SendMessage()接收信息
- 17. 如何接收Mediafire的API信息?
- 18. 廣播接收器接收不到意圖
- 19. 如何實現接收警報消息的代碼?
- 20. 接近警報誤報
- 21. 何時接收TCP消息
- 22. 錯誤Biztalk接收位置「發票接收位置」URI上的適配器「SOAP」收到的消息被暫停
- 23. 接收位置Autohandling虛假的電子郵件警報
- 24. 接收意向
- 25. 如何將意圖發送到短信接收器?
- 26. 接收GCM時出現錯誤信息
- 27. 從Flash接收信息到PHP
- 28. 更改地圖位置在SMS接收
- 29. 接收短信
- 30. 廣播接收器的onReceive()被調用以接收所有的接近警報。我究竟做錯了什麼?
謝謝!確切地說,我需要=)。 – Glauco 2011-03-18 18:30:12
這很完美。是否可以確定觸發警報的位置提供商? GPS_PROVIDER或NETWORK_PROVIDER @Franco – 2011-12-08 07:41:27