7

我可以在我的 NFC 演示应用程序中读写,但我需要检查设置菜单中的 NFC 选项是否启用。如果未启用,我想将用户引导至设置菜单(我知道如何操作),类似于 NXP 的 NFC TagWriter。 在此处输入图像描述

在我的应用程序中,我使用以下 SDK 版本

<uses-sdk android:minSdkVersion="7" />
<uses-sdk android:maxSdkVersion="16"/>

我无法检查设置是否启用。

4

3 回答 3

13

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));
        }
    }
于 2013-02-20T20:57:27.817 回答
1

使用以下代码获取 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);

API版本7没有NFC。所以改变你的清单文件如下

<uses-sdk android:minSdkVersion="10" />
<uses-sdk android:maxSdkVersion="16"/>
于 2013-02-19T12:43:57.163 回答
0
    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);
    }
于 2013-08-03T09:05:38.163 回答