В случае, если кто-то еще нашел этот вопрос, пытаясь решить ту же проблему, что и я:
Если вы создаете такое сообщение (т.е. устанавливаете пакет в качестве объекта сообщения):
Bundle myBundle = new Bundle();
myBundle.putString("CODE", "code");
//send bundle to target
handlerOfTarget.obtainMessage(MESSAGE_TRIGGER_RECEIVED, 0, 0, myBundle).sendToTarget();
(где handlerOfTarget - ссылка на обработчик цели)
И пытаюсь получить пачку вот так:
@Override
public void handleMessage(Message msg) {
case MESSAGE_TRIGGER_RECEIVED:
Bundle myBundle = msg.getData();
String code = myBundle.getString("CODE"); //null
...
Проблема в том, что msg.getData () не получает пакет, который установлен как объект сообщения.
Для этого вам необходимо использовать:
@Override
public void handleMessage(Message msg) {
case MESSAGE_TRIGGER_RECEIVED:
Bundle myBundle = (Bundle) msg.obj;
String code = myBundle.getString("CODE"); //null
...