Я пытаюсь отправить широковещательную рассылку из службы в действие. Я могу проверить, что широковещательная передача отправляется из службы, но Activity ничего не принимает.
Вот соответствующий код службы:
Intent i = new Intent(NEW_MESSAGE);
i.putExtra(FriendInfo.USERNAME, StringUtils.parseBareAddress(message.getFrom()));
i.putExtra(FriendInfo.MESSAGE, message.getBody());
i.putExtra("who", "1");
sendBroadcast(i);
И принимающая сторона в классе активности:
public class newMessage extends BroadcastReceiver
{
@Override
public void onReceive(Context context, Intent intent)
{
String action = intent.getAction();
if(action.equalsIgnoreCase(IMService.NEW_MESSAGE)){
Bundle extra = intent.getExtras();
String username = extra.getString(FriendInfo.USERNAME);
String message = extra.getString(FriendInfo.MESSAGE);
String who = extra.getString("who");
}
}
}
BroadcastReceiver - это определены в Activity. Я регистрирую получателя в методе onCreate Activity, а не в файле Manifest.
I ' m озадачен, почему это не rec.
Любое понимание?
РЕДАКТИРОВАТЬ
Регистрация происходит следующим образом:
registerReceiver(messageReceiver, new IntentFilter(IMService.NEW_MESSAGE));
Где «messageReceiver» определяется как
private newMessage messageReceiver = new newMessage();
IMService.NEW_MESSAGE - это просто строка = «NewMessage»