private void setProximityAlert(float radius, double lat, double lng, String place)
{
long expiration = -1;
LocationManager locManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
Intent intent = new Intent(TREASURE_PROXIMITY_ALERT);
intent.putExtra("lat", lat);
intent.putExtra("lng", lng);
intent.putExtra("place", place);
PendingIntent pendingIntent = PendingIntent.getBroadcast(getApplicationContext(), -1, intent, 0);
locManager.addProximityAlert(lat, lng, radius, expiration, pendingIntent);
}
创建一个接近警报和我的活动我注册的接收器以这种方式
IntentFilter intentFilter = new IntentFilter(TREASURE_PROXIMITY_ALERT);
registerReceiver(new ProximityIntentReceiver(), intentFilter);
setProximityAlert(10, 45.150344, 9.999815, "POINT1");
和我的广播接收器是正确的调用。 所以现在,我想添加另一个接近警报,这有可能吗?我希望同一个boadcast接收器被2个接近警报调用。 我做到这一点:
IntentFilter intentFilter1 = new IntentFilter(TREASURE_PROXIMITY_ALERT1);
registerReceiver(new ProximityIntentReceiver(), intentFilter1);
setProximityAlert(200f, 45.143848, 10.039741, "POINT2");
但它不起作用,什么也没有发生。我现在真的在想它,我想知道这是否正确。我的意图是触发2个警报,一个是GPS获得位置POINT1,另一个位于POINT2位置。 欢迎任何帮助。
谢谢@ Pentium10,这个应用程序'位置Spoofer'非常适合测试这个接收器! – hsz 2011-11-29 10:46:34
谢谢,我正在努力测试我的应用程序。这是一个非常好的技术使用位置欺骗 – png 2012-07-31 10:09:43
嗨Pentium10你可以请告诉我怎么可以在我的'服务',已被添加像'intent.setAction(“foo”+ objPlace.getId());'' – 2013-08-20 11:35:40