Это BroadcastReceiver находится внутри моего фрагмента:Мой BroadcastReceiver никогда не называется?
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
...
getActivity().startService(new Intent(getActivity(),LightSensor.class));
Log.d(TAG, "Called the LightSensor Service Class to start");
IntentFilter luxfilter = new IntentFilter("LuxUpdate");
getActivity().getApplicationContext().registerReceiver(mLightReceiver, luxfilter);
...
}
...
// RECEIVE DATA FROM LIGHT SENSOR BROADCAST
public BroadcastReceiver mLightReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
String lux = intent.getStringExtra("Lux");
Log.d(TAG, "Recieve Broadcast-Lux Update: " + lux);
//TextView tvSensorLightLux = (TextView) findViewById(R.id.tvSensorLightLux);
mLightValue.setText(lux);
}
};
Проблема заключается в том, что я думаю, думаю, что она слушает или приема. Log.d никогда не отображается в LogCat. Понятия не имею почему. Единственная разница в этой записи, а другая - работа, заключалась в том, что предыдущая запись была фактически в Activity. Этот находится в Фрагменте. Я что-то упустил здесь или должен быть что-то в моем манифесте для этого фрагмента или приемника?
UPDATE:
датчик посылает в эфир с:
private void sendLuxUpdate() {
if(isLightSensing){
Log.d(TAG, "sender Broadcasting message " + Lux);
Intent intent = new Intent("LuxUpdate");
intent.putExtra("Lux", Lux);
LocalBroadcastManager.getInstance(this).sendBroadcast(intent);
}
}
ли вы зарегистрировать приемник? –
Извините, я редактировал выше, чтобы отразить рег. В регистрации я вижу запись Log.d. Это не означает, что он был зарегистрирован должным образом, только то, что оно прошло через это утверждение. –
Вы должны также включить отправку «Intent» в приемник, чтобы кто-то мог посмотреть, все ли в порядке. – nKn