나는 geofencing guidelines을 따르고 있으며 범주가있는 의도에 대해 LocalBroadcastManager
을 얻을 수 없습니다. 의도 보낸 사람이 같은 범주 GeofenceUtils.CATEGORY_LOCATION_SERVICES
와 텐트 2 종류를 보냅니다의도 LocalBroadcastManager를 사용하여 범주별로 필터링
가진 - 동작이 GeofenceUtils.ACTION_GEOFENCES_ADDED
Intent broadcastIntent = new Intent();
String msg;
broadcastIntent.setAction(GeofenceUtils.ACTION_GEOFENCES_ADDED)
.addCategory(GeofenceUtils.CATEGORY_LOCATION_SERVICES)
.putExtra(GeofenceUtils.EXTRA_GEOFENCE_STATUS, msg);
LocalBroadcastManager.getInstance(mActivity).sendBroadcast(broadcastIntent);
가진 - 액션 내가 원하는 수신기에서 GeofenceUtils.ACTION_GEOFENCE_ERROR
Intent broadcastIntent = new Intent();
String msg;
broadcastIntent.setAction(GeofenceUtils.ACTION_GEOFENCE_ERROR)
.addCategory(GeofenceUtils.CATEGORY_LOCATION_SERVICES)
.putExtra(GeofenceUtils.EXTRA_GEOFENCE_STATUS, msg);
LocalBroadcastManager.getInstance(mActivity).sendBroadcast(broadcastIntent);
는 IntentFilter
을 가지고있는 카테고리별로 의도를 필터링합니다 (예 :
geofenceReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// Get extra data included in the Intent
String message = intent.getStringExtra(GeofenceUtils.EXTRA_GEOFENCE_STATUS);
Log.d(TAG, "geofenceReceiver got message: " + message);
}
IntentFilter intentFilter = new IntentFilter();
intentFilter.addCategory(GeofenceUtils.CATEGORY_LOCATION_SERVICES);
LocalBroadcastManager.getInstance(this).registerReceiver(geofenceReceiver, intentFilter);
그러나 onReceive
은 실행되지 않습니다. 왜?