我需要创建具有可选NFC功能的应用。 我是否可以在没有明确许可的情况下访问NFC(Android)?或者我应该创建两个应用程序:NFC版本和没有它的版本。
答案 0 :(得分:5)
根据thorbear
的结果更新 uses-feature
元素,以便您的应用仅在具有NFC硬件的设备上显示在Google Play中:
<uses-feature android:name="android.hardware.nfc" android:required="true" />
如果您的应用程序使用NFC功能,但该功能对您的应用程序并不重要,您可以省略uses-feature元素并通过检查{{3}来检查运行时的NFC可用性是空的。
如果不向清单添加权限,则无法执行此操作。你呢 不需要为这种情况创建两个应用程序。
阅读getDefaultAdapter()了解更多详情
但是,您可以说“我的应用程序使用NFC功能但可选”。
为此,您需要将 <uses-feature android:name="android.hardware.nfc" android:required="false" />
添加到清单中。因此,Google Play可以让您的应用程序适用于NFC
或不具有<uses-feature .../>
的所有设备。
注意:如果您未将此 android:required="false"
标记添加到包含NFC
的清单中,Google Play会将您的应用视为“此应用程序仅适用于具有NFC 的设备。如果设备没有<manifest ...>
<uses-feature android:name="android.hardware.nfc" android:required="true" />
<uses-permission android:name="android.permission.NFC" />
</manifest>
功能,则无法从Google Play下载您的应用。
这是明显的例子
2.2.0
答案 1 :(得分:1)
您无法在不对清单添加以下权限的情况下访问NFC。
<uses-permission android:name="android.permission.NFC" />