我想在一个人进入/退出地理围栏(电子邮件/短信应用程序,联系人应用程序等)时开始活动。
这可能吗?
如果可以,则文档建议以下
从位置服务发送的Intent可以在您的应用中触发各种操作,但您不应该让它启动活动或片段,因为组件只应在响应用户操作时变得可见。在许多情况下,IntentService是处理意图的好方法。
我们可以考虑将地理围栏作为用户操作吗?
请帮我解决这个问题
答案 0 :(得分:1)
Intent intent = new Intent("alert");
PendingIntent proximityIntent = PendingIntent.getBroadcast(this, 0, intent, 0);
locationManager.addProximityAlert(latitude,
longitude, PROXIMITY_DISTANCE, -1, proximityIntent);
然后注册扩展BroadcastReceiver的接收器
IntentFilter filter = new IntentFilter("alert");
registerReceiver(<your receiver>, filter);
你可以在onReceive方法中做你的事情
if (intent != null) {
String key = LocationManager.KEY_PROXIMITY_ENTERING;
boolean entering = intent.getBooleanExtra(key, false);
if (entering) {
// whatever
}
}