Я пытаюсь отправить трансляцию из службы в Activity. Я могу проверить, что трансляция отправляется из службы, но 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.
Я в тупике, почему это не будет. что-нибудь.
Любое понимание?
ИЗМЕНИТЬ
Регистрация происходит следующим образом:
registerReceiver(messageReceiver, new IntentFilter(IMService.NEW_MESSAGE));
Где "messageReceiver" определяется как
private newMessage messageReceiver = new newMessage();
IMService.NEW_MESSAGE - это просто строка = "NewMessage"