如何在我们的应用程序中使用NFC,我们如何知道该设备支持NFC?

时间:2016-07-15 06:38:30

标签: android nfc

我已经完成了一些与NFC相关的主题。但我没有找到一种清晰简单的方法来使用它或使用NFC?

另一个问题是我们如何识别设备是否支持NFC, 那有什么代码吗?

是什么让它与蓝牙不同?

我们将不胜感激。

2 个答案:

答案 0 :(得分:2)

检查设备是否支持NFC:

NfcManager manager = (NfcManager) context.getSystemService(Context.NFC_SERVICE);
NfcAdapter adapter = manager.getDefaultAdapter();
if (adapter != null && adapter.isEnabled()) {

    //Yes NFC available 
}else{

   //Your device doesn't support NFC
}

以下是NFC的全部内容:https://developer.android.com/guide/topics/connectivity/nfc/index.html

答案 1 :(得分:1)

如果你有root设备,你可以轻松切换NFC模式:

public static boolean powerNfc(boolean isOn, Context context) {
        boolean success = false;
        NfcAdapter nfcAdapter = NfcAdapter.getDefaultAdapter(context);

        if (nfcAdapter != null) {
            Class<?> NfcManagerClass;
            Method setNfcEnabled;
            try {
                NfcManagerClass = Class.forName(nfcAdapter.getClass().getName());
                setNfcEnabled = NfcManagerClass.getDeclaredMethod(isOn ? "enable" : "disable");
                setNfcEnabled.setAccessible(true);
                success = (Boolean) setNfcEnabled.invoke(nfcAdapter);
            } catch (ClassNotFoundException e) {
            } catch (NoSuchMethodException e) {
            } catch (IllegalArgumentException e) {
            } catch (IllegalAccessException e) {
            } catch (InvocationTargetException e) {
            }
        }
        return success;
    }

您还需要添加权限写安全设置

它已经过测试。