我正在尝试在android中运行一个fencing示例。我在谷歌地图上展示了一个半径为2米的栅栏,同时我在2米半径范围内显示了我当前的位置。
正如您在下面的图片中看到的那样,我当前的位置(绿色)远离围栏(红色),但我的getAllMessagesforChart(callback);
alert("MYSERIES out scope: " + mySeries); // undefined
和Geofence.GEOFENCE_TRANSITION_EXIT
都没有被调用。
即使我进入围栏也没有得到任何通知。
我见过其他线程,但没有任何工作。
这是我的基本设置
IntentService
待定意图
<service
android:name=".GeofenceTransitionsIntentService"
android:exported="false"
>
</service>
在onConnected内部
private PendingIntent getGeofenceTransitionPendingIntent() {
Intent intent = new Intent(this, GeofenceTransitionsIntentService.class);
return PendingIntent.getService(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
}
我尝试使用BroadcastReceiver,但没有运气
mGeofenceRequestIntent = getGeofenceTransitionPendingIntent();
LocationServices.GeofencingApi.addGeofences(mApiClient, mGeofenceList,
mGeofenceRequestIntent);
在我的清单文件中
private PendingIntent getmGeofenceTransitionPendingIntentReceiver(){
if(mGeofenceRequestIntent!=null){
return mGeofenceRequestIntent;
}else{
Intent intent = new Intent(GEOFENCE_RECEIVER);
return PendingIntent.getBroadcast(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
}
}