Подтвердить что ты не робот

Как проверить, включен ли NFC или нет в андроиде?

Как я могу проверить, включен ли NFC или нет программно? Есть ли способ включить NFC на устройстве из моей программы? Пожалуйста, помогите мне

4b9b3361

Ответ 1

NfcManager manager = (NfcManager) context.getSystemService(Context.NFC_SERVICE);
NfcAdapter adapter = manager.getDefaultAdapter();
if (adapter != null && adapter.isEnabled()) {
    // adapter exists and is enabled.
}

Вы не можете включить NFC программно. Пользователь должен сделать это вручную с помощью настроек или аппаратной кнопки.

Ответ 2

Используйте PackageManager и hasSystemFeature("android.hardware.nfc"), сопоставляя элемент <uses-feature android:name="android.hardware.nfc" android:required="false" />, который вы должны иметь в своем манифесте.

Начиная с версии 2.3.3 вы также можете использовать NfcAdapter.getDefaultAdapter(), чтобы получить адаптер (если он доступен) и вызвать его метод isEnabled(), чтобы проверить, включен ли NFC.

Ответ 3

Возможно, мне немного поздно, но я реализовал "полный" пример с обнаружением

  • Возможности NFC (аппаратное обеспечение) и
  • Начальное состояние NFC (включено или отключено в настройках) и
  • Изменения состояния

Я также добавил соответствующий Beam пример, который использует

nfcAdapter.isNdefPushEnabled()

введенный в более поздних версиях Android для определения состояния пучка, как в 2) и 3).

Ответ 4

mNfcAdapter = NfcAdapter.getDefaultAdapter(this.getApplicationContext());
    try {
        if (mNfcAdapter != null) {
            result = true;
        }
    }

Мы можем проверить, используя NfcAdapter с контекстом.