适用于所有应用程序的Android addProximityAlert

时间:2012-08-23 15:13:51

标签: android locationmanager

我想在设备进入固定区域时显示活动。我有recivier的startActivity(GpsAlarmRecivier)。下面的代码有效,但是当我关闭Activity时,它会崩溃。我知道这是因为我必须注销recivier。

但是我想在所有应用程序中使用addProximityAlart,即使在关闭我的活动之后(例如,移到上一个)。有可能吗?

Intent myIntent = new Intent("gpsup.namespace.ProximityAlert");             


PendingIntent proximityIntent = PendingIntent.getBroadcast(cxt, 0, myIntent, 0);

locationManager.addProximityAlert(records.get(pos).x, records.get(pos).y, records.get(pos).r,  
-1, proximityIntent);

IntentFilter filter = new IntentFilter("gpsup.namespace.ProximityAlert");
actv.getApplicationContext().registerReceiver(new GpsAlarmReceiver(), filter);

我想使用addProximityAlert,即使我关闭活动,当我创建recivier时。感谢您的任何建议。

1 个答案:

答案 0 :(得分:2)

我不相信有一种方法可以在您的应用程序中直接注册系统GPSBroadcastReceiver。如果是这种情况,你可以把它放在你的清单中,它会在更新出来后得到解决,然后你可以在执行检查后解雇你的自定义意图。

我认为这实际上是他们不允许的原因(我可能错了)。如果在GPS更新出来时每个应用程序都被唤醒,那将会有问题。他们会在后台打电池。

我可以提供的建议是创建一个服务,监听您的GPS更新,然后广播您的意图。虽然你可以让它永远在后台运行,但它的生命周期肯定比Activity更长。