[英]How to check whether NFC is enabled or not in android?
如何以編程方式檢查NFC是否已啟用? 有沒有辦法在我的程序中啟用設備上的NFC? 請幫我
NfcManager manager = (NfcManager) context.getSystemService(Context.NFC_SERVICE);
NfcAdapter adapter = manager.getDefaultAdapter();
if (adapter != null && adapter.isEnabled()) {
// adapter exists and is enabled.
}
您無法以編程方式啟用NFC。 用戶必須通過設置或硬件按鈕手動完成。
使用PackageManager
和hasSystemFeature("android.hardware.nfc")
,匹配你應該在清單中的<uses-feature android:name="android.hardware.nfc" android:required="false" />
元素。
從2.3.3開始,您還可以使用NfcAdapter.getDefaultAdapter()
來獲取適配器(如果可用)並調用其isEnabled()
方法來檢查NFC當前是否已打開。
這可以使用以下代碼完成:
NfcAdapter nfcAdapter = NfcAdapter.getDefaultAdapter(this);
if (nfcAdapter == null) {
// NFC is not available for device
} else if (!nfcAdapter.isEnabled()) {
// NFC is available for device but not enabled
} else {
// NFC is enabled
}
請記住,即使在使用您的應用時,用戶也可以關閉NFC。
資料來源: https : //developer.android.com/guide/topics/connectivity/nfc/nfc#manifest
雖然您無法自己以編程方式啟用NFC,但您可以通過按鈕打開NFC設置來要求用戶啟用它,如下所示:
Intent intent
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
intent = new Intent(Settings.ACTION_NFC_SETTINGS);
} else {
Intent intent = new Intent(Settings.ACTION_WIRELESS_SETTINGS);
}
startActivity(intent);
mNfcAdapter = NfcAdapter.getDefaultAdapter(this.getApplicationContext());
try {
if (mNfcAdapter != null) {
result = true;
}
}
我們可以使用NfcAdapter驗證上下文。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.