我可以在我的 NFC 演示应用程序中读写,但我需要检查设置菜单中的 NFC 选项是否启用。如果未启用,我想将用户引导至设置菜单(我知道如何操作),类似于 NXP 的 NFC TagWriter。
在我的应用程序中,我使用以下 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);
API版本7没有NFC。所以改变你的清单文件如下
<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);
}