繁体   English   中英

Android地理围栏触发活动

[英]Android geofence trigger activity

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

  1. 这可能吗?

  2. 如果可能的话,文档建议以下内容

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

  3. 我们是否可以将输入地理围栏视为用户操作?

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM