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