我可以在我的NFC演示應用程序中閱讀和閱讀,但我需要檢查設置菜單中的NFC選項是否啓用。如果它沒有啓用,我想引導用戶進入設置菜單(我知道如何做到這一點),類似於NXP的NFC TagWriter。 如何啓用NFC設置
在我的應用我使用以下SDK版本
<uses-sdk android:minSdkVersion="7" />
<uses-sdk android:maxSdkVersion="16"/>
我無法檢查是否設置啓用。
我可以在我的NFC演示應用程序中閱讀和閱讀,但我需要檢查設置菜單中的NFC選項是否啓用。如果它沒有啓用,我想引導用戶進入設置菜單(我知道如何做到這一點),類似於NXP的NFC TagWriter。 如何啓用NFC設置
在我的應用我使用以下SDK版本
<uses-sdk android:minSdkVersion="7" />
<uses-sdk android:maxSdkVersion="16"/>
我無法檢查是否設置啓用。
TNR說得對,但是請注意,從Android版本16開始,NFC有一個更具體的設置動作:
protected void startNfcSettingsActivity() {
if (android.os.Build.VERSION.SDK_INT >= 16) {
startActivity(new Intent(android.provider.Settings.ACTION_NFC_SETTINGS));
} else {
startActivity(new Intent(android.provider.Settings.ACTION_WIRELESS_SETTINGS));
}
}
使用下面的代碼來獲得NFCAdapter。
NfcAdapter nfcAdpt = NfcAdapter.getDefaultAdapter(this);
if(nfcAdpt!=null)
{
if(nfcAdpt.isEnabled())
{
//Nfc settings are enabled
}
else
{
//Nfc Settings are not enabled
}
}
如果要導航用戶NFC的設置,然後下面的代碼使用
Intent setnfc = new Intent(Settings.ACTION_WIRELESS_SETTINGS);
startActivity(setnfc);
沒有NFC的API版本7.因此,改變你的清單文件,如下
<uses-sdk android:minSdkVersion="10" />
<uses-sdk android:maxSdkVersion="16"/>
if (Build.VERSION.SDK_INT >= 10) {
i = new Intent("android.settings.NFC_SETTINGS");
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
mContext.startActivity(i);
} else {
i = new Intent(Settings.ACTION_WIRELESS_SETTINGS);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
mContext.startActivity(i);
}
我不能用你的代碼編譯,所以我改爲「android.settings.NFC_SETTINGS」。它被編譯。 – 2013-08-03 09:09:50
感謝我在做ssame的事情,但是幹什麼愚蠢的錯誤:) – MRX 2013-02-19 13:27:39
@MRX不是一個問題,如果我的回答幫助多數民衆贊成確定 – TNR 2013-02-19 13:44:15
NFC設置的WIRELESS_SETTINGS內ARNT在Galaxy S6 – 2017-03-09 08:16:15