0

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

但我想对所有应用程序使用 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,即使我关闭活动,当我创建接收者时。感谢您的任何建议。

4

1 回答 1

2

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

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

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

于 2012-08-23T15:22:54.610 回答