我正在处理NFC标签。我的问题是,当检测到NFC标签时,我无法关闭声音。我开始研究并开始感到困惑:
有些人说我们可以和一些我们无法禁用这些声音。
我们可以通过编程方式禁用和启用NFC声音吗?
答案 0 :(得分:7)
从API级别19(Android 4.4)开始,您可以使用较新的阅读器模式API来监听NFC标签,从而在应用处于前台时禁用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);
}