从BroadcastReceiver

时间:2015-10-21 10:24:30

标签: android broadcastreceiver

我花了几个小时但却找不到通过BroadcastReceiver重新注册地理围栏的确切方法。重新注册需要GoogleApiClient实例在活动中运行,因此需要应用程序。请帮忙。请告诉我错误或提供解决方案。

Do Geofences remain active in android after a device reboot

1 个答案:

答案 0 :(得分:0)

首先,您需要使用GeofenceManager来处理所有持久性Geofence区域存储,您可以通过在偏好键上保存每个属性来保留地理围栏区域。之后,您可以实施BroadcastReceiver以从首选项恢复所有地理围栏区域。

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
public class GeofenceBootReceiver extends BroadcastReceiver {

  @Override
  public void onReceive(Context context, Intent intent) {

    GeofenceRegionsManager manager = new GeofenceRegionsManager(context);
    manager.restoreAllRegions();
  }
}

应该设置权限:

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

在AndroidManifest.xml上设置意图过滤器动作android.intent.action.BOOT_COMPLETED。