我已經經歷了一些與NFC相關的話題。但是我沒有找到一個簡單明瞭的方式來使用它或使用NFC?如何在我們的應用中使用NFC,我們如何知道該設備支持NFC?
另一個問題是我們如何識別設備是否支持NFC, 有沒有什麼代碼?
是什麼使它不同於藍牙?
所有的建議將不勝感激。
我已經經歷了一些與NFC相關的話題。但是我沒有找到一個簡單明瞭的方式來使用它或使用NFC?如何在我們的應用中使用NFC,我們如何知道該設備支持NFC?
另一個問題是我們如何識別設備是否支持NFC, 有沒有什麼代碼?
是什麼使它不同於藍牙?
所有的建議將不勝感激。
要檢查設備支持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
如果你已經植根設備,您可以輕鬆切換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;
}
你還需要添加權限編寫安全設置。
它已經過測試。
謝謝,我也經歷了那個環節。但請您詳細說明一下。 –
嘗試使用此鏈接,那裏有更多的代碼:):http://code.tutsplus.com/tutorials/reading-nfc-tags-with-android--mobile-17278 –