Android地理围栏触发器活动

时间:2014-10-15 10:18:22

标签: android android-geofence

我想在一个人进入/退出地理围栏(电子邮件/短信应用程序,联系人应用程序等)时开始活动。

  1. 这可能吗?

  2. 如果可以,则文档建议以下

    从位置服务发送的Intent可以在您的应用中触发各种操作,但您不应该让它启动活动或片段,因为组件只应在响应用户操作时变得可见。在许多情况下,IntentService是处理意图的好方法。

  3. 我们可以考虑将地理围栏作为用户操作吗?

  4. 请帮我解决这个问题

1 个答案:

答案 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
     }
 }