2

这是对问题的回应

Step #1: Put this in your manifest:

<uses-feature android:name="android.hardware.nfc" android:required="false" />
Step #2: Call hasSystemFeature(PackageManager.FEATURE_NFC) on PackageManager to see if NFC is available on the current device

我将 API 级别设置为 8,步骤 1 可以,但是当我写hasSystemFeature(PackageManager.FEATURE_NFC)它时说不Feature_NFC解析到某个字段,Feature_WIFI FEATURE_BLUETOOTH FEATURE_CAMERA那里有选项。我访问过Android 开发者网站,但他们没有提到 API 级别。另一个问题是我可以在 AVD 上测试 NFC 应用程序吗?任何可以帮助我的人谢谢

4

2 回答 2

6

确保您将项目构建目标设置为至少 api 级别 9。

在 manifest.xml 中包含以下内容

<uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="15" /> //If you have icecream sandwich installed.

它将确保您的应用程序也可以在 sdk 8 上运行

还要确保无论何时调用 Gingerbread 特定功能,然后将它们包装到 if 条件中,如下所示。

      if (Build.VERSION.SDK_INT < Build.VERSION_CODES.GINGERBREAD) {

    } else {
        if (getPackageManager()
                .hasSystemFeature(PackageManager.FEATURE_NFC)) {
            //do processing
        }
    }

用于测试您可以尝试打开 NFC Android 模拟器

于 2012-06-17T10:18:51.827 回答
0

FEATURE_NFC 是从 API 级别 9 定义的,但您仍然可以使用常量值“android.hardware.nfc”。

于 2012-06-17T10:08:25.040 回答