2015-07-10 2 views
1

Мне нужно отключить пучок и включить определенные фрагменты. Поэтому у меня есть базовый фрагмент, фрагмент поставщика и фрагмент продукта. В базовом фрагменте onResume я называю:Отключить пучок Android для определенных фрагментов

NfcAdapter adapter = NfcAdapter.getDecaultAdapter(getActivity()); 
adapter.setNdefPushMessage(null, getActivity()); 

Таким образом, в этот момент, когда я поставил два NFC устройства вместе, он воспроизводит звук, но нет UI участвует. Это то, чего я хочу.

Затем пользователь переходит к продуктам, заказывает продукты и просматривает sthem на фрагменте ordersummary. В этом я создаю мой ЦНК сообщение и передать его в мой ЦНК обратный вызов толчок сообщение:

mNfcAdapter.setNdefPushMessageCallback(new NfcAdapter.CreateNdefMessageCallback() { 
     @Override 
     public NdefMessage createNdefMessage(NfcEvent event) { 
      NdefMessage message = new NdefMessage((new NdefRecord[]{createMime("application/com.me.myactivity.fragments", mToBeam.getBytes()) })); 

      return message; 
     } 
    }, mActivity); 

mNfcAdapter.setOnNdefPushCompleteCallback(new NfcAdapter.OnNdefPushCompleteCallback() { 
     @Override 
     public void onNdefPushComplete(NfcEvent event) { 

     } 
    }, mActivity); 

Однако на успешной передачи я затем привести пользователя на странице продукта, где в onResume() я называю:

mNfcAdapter.setNdefPushMessage(null, getActivity()); 

Это называется, однако, теперь, когда я соединяю два устройства вместе, я получаю интерфейс, даже если сообщение равно null.

ответ

0

Вы смешиваете два разных подхода: статический и обратный. Для того, чтобы отключить подход обратного вызова на основе, вы должны вызвать setNdefPushMessageCallback прохождения null в качестве обратного вызова:

adapter.setNdefPushMessage(null, getActivity()); 
adapter.setNdefPushMessageCallback(null, getActivity()); 
adapter.setOnNdefPushCompleteCallback(null, getActivity()); 
+0

спасибо за ваше решение. После публикации я попробовал добавить обратные вызовы, установленные в null, и он работал хорошо. У меня просто не было возможности обновиться здесь. –

 Смежные вопросы

  • Нет связанных вопросов^_^