API 立即在 Android 应用中禁用 NFC

API to disable NFC in Android app immediately

我正在尝试确定 Android 应用如何阻止 phone 在任何特定时间广播 NFC 信号。

我知道这是可能的,因为我使用的应用程序在打开特定模态屏幕时 NFC 不再起作用。我知道这种情况正在发生,因为如果我在模式打开时将 phone 举到我的 NFC reader,则无法识别任何内容。一旦我关闭模式,NFC reader 立即拿起设备。

我不确定如何将它集成到我的应用程序中。我已经阅读了其他答案,包括 ,它似乎说这是不可能的,这不可能是真的,因为我看到它发生在我眼前。

NfcAdapter.enableReaderMode是我要找的吗?我正在尝试确定这是否可行,但由于我不确定如何实施它,所以无法对其进行测试。

我按照我原先的想法使用 enableReaderMode 成功地禁用了 NFC。将下面的代码添加到我的 React Native 应用程序的重写 onCreate 方法后,我能够在整个应用程序中禁用 NFC。

import android.nfc.NfcAdapter;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    NfcAdapter adapter = NfcAdapter.getDefaultAdapter(this);
    adapter.enableReaderMode(this, null, NfcAdapter.STATE_OFF, null);
}