Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
Activityではないところから、Intentをスタートさせようとすると、上記のメッセージが出る例外が起こってしまいます。
Androidのエラーって親切ですね、書いてあるのを参考にやってみればOKです。
Intent message_intent = new Intent(context, MessageReceivedActivity.class); message_intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); //この行をつけたし startActivity(message_intent);