不能以编程的方式启用NFC,只能通过用户设置或用硬件按钮手动启用。
Android2.3.3版本以后可以下代码检测NFC是否开启:
public static boolean hasNfc(Context context){
boolean bRet=false;
if(context==null)
return bRet;
NfcManager manager = (NfcManager) context.getSystemService(Context.NFC_SERVICE);
NfcAdapter adapter = manager.getDefaultAdapter();
if (adapter != null && adapter.isEnabled()) {
// adapter存在,能启用
bRet=true;
}
return bRet;
}
当然也可使用
PackageManager
和
hasSystemFeature("android.hardware.nfc")
,与manifest中的元素匹配。