Android NFC: включение и отключение обнаруженных NFC звуков

Я имею дело с тегами NFC. Моя проблема в том, что я не могу отключить звук при обнаружении тегов NFC. Я начал свое исследование, а также начал путаться:

  • выключите звук NFC устройства
  • предотвратить сигнал тревоги при сканировании / идентификации намерения NFC
  • Как отключить / изменить звуки NFC?

некоторые говорят, что мы можем, а некоторые, что мы не можем отключить эти звуки.

можем ли мы отключить и включить звук NFC программно?

1 ответов


начиная с уровня API 19 (Android 4.4) вы можете отключить звуки NFC, пока ваше приложение находится на переднем плане, используя новый API режима чтения для прослушивания тегов NFC. API режима чтения имеет флаг FLAG_READER_NO_PLATFORM_SOUNDS который можно использовать для отключения звуков обнаружения NFC.

@Override
protected void onResume() {
    super.onResume();

    NfcAdapter adapter = NfcAdapter.getDefaultAdapter(this);
    adapter.enableReaderMode(this,
            new NfcAdapter.ReaderCallback() {
                @Override
                public void onTagDiscovered(final Tag tag) {
                    // do something
                }
            },
            NfcAdapter.FLAG_READER_NFC_A |
            NfcAdapter.FLAG_READER_NFC_B |
            NfcAdapter.FLAG_READER_NFC_F |
            NfcAdapter.FLAG_READER_NFC_V |
            NfcAdapter.FLAG_READER_NFC_BARCODE |
            NfcAdapter.FLAG_READER_NO_PLATFORM_SOUNDS,
            null);
}