Как передать строку из BroadcastReceiver во фрагмент

Когда отлавливаю сообщения, с активити всё работает, а во фрагмент не получается.
Прошу подсказать.

SmsReceiver.java

public class SmsReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        // ...
        // Для фрагмента пытаюсь сделать так
        Intent intent1 = new Intent("ru.myicmsapp");
        intent1.putExtra("body", body);
        context.sendBroadcast(intent1);
    } 
}

TestFragment.java

public class TestFragment extends Fragment {

    Context context;
    MainActivity act;
    // ...
    private final BroadcastReceiver broadCastReceiver = new BroadcastReceiver() {
        @Override
        public void onReceive(Context context, Intent intent) {
            Log.e("UUU", "smsMessageStr = ");

            if (intent != null && intent.getExtras() != null) {
                String smsMessageStr = intent.getExtras().getString("body");
                if (smsMessageStr != null ) {
                    Log.e("UUU", "smsMessageStr = " + smsMessageStr);
                }
            }
        }
    };

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        LocalBroadcastManager.getInstance(getActivity())
            .registerReceiver(broadCastReceiver, new IntentFilter("ru.myicmsapp"));
        return inflater.inflate(R.layout.fragment_test, container, false);
    }
    // ...
}

Ответы (1 шт):

Автор решения: Олег Никифоров

Решил. Оказывается LocalBroadcastManager нормально не работает. В ресивере сделал

  Intent intent1 = new Intent(String.valueOf(Intent.FLAG_ACTIVITY_NEW_TASK));
   intent1.putExtra("body", body);
   intent1.putExtra("address", sms_from);
   context.sendBroadcast(intent1);

А во фрагменте, регистрацию так

getActivity().registerReceiver(broadCastReceiver, filter);
→ Ссылка