Sushin PS
Sushin PS

Reputation: 93

BroadcastReceiver not showing any Log from onReceive

My service has function

broadcaster = LocalBroadcastManager.getInstance(this);
public void sendResult(String message) {
    Log.d("Service", "sendResult "+message);
    Intent intent = new Intent();
    intent.setAction("com.myandroid.app.messagechanged");
    if(message != null)
        intent.putExtra("message", message);
        broadcaster.sendBroadcast(intent);
    }

and MainActivity has

BroadcastReceiver receiver = new BroadcastReceiver() {
    @Override
    public void onReceive(Context context, Intent intent) {
        Log.d("MainActivity", "Receiving Broadcast");
        Message = intent.getStringExtra("message");
        Log.d("MainActivity", "Received : "+Message);
        tvMessage.setText(Message);                       
    }
};

and Manifest has

<receiver android:name="com.myandroid.app.receiver" >
   <intent-filter>
      <action android:name="com.myandroid.app.messagechanged" />
   </intent-filter>
</receiver>

This code is not updating TextView tvMessage.

Log:

Service   sendResult MyMessage

Only this log is showing regarding these functions. Not showing any Log from onReceive.

My package name is com.myandroid.app

Service name is AppService

Activity name is MainActivity

Upvotes: 2

Views: 570

Answers (1)

Bruno Santos
Bruno Santos

Reputation: 46

Did you register the Broadcast receiver?

You can do it programmatically

IntentFilter filter = new IntentFilter("SOME_ACTION");
filter.addCategory("SOME_CATEGORY");
registerReceiver(YOUR_BROADCAST, filter);

Or in the manifest

<receiver android:name="YOUR_BROADCAST_CLASS" >
    <intent-filter>
        <action android:name="SOME_ACTION" />
        <action android:name="SOME_CATEGORY" />
    </intent-filter>
</receiver>

Upvotes: 2

Related Questions