我可以在Android中没有明确许可的情况下访问NFC吗?

时间:2015-05-22 08:00:10

标签: android nfc android-permissions

我需要创建具有可选NFC功能的应用。 我是否可以在没有明确许可的情况下访问NFC(Android)?或者我应该创建两个应用程序:NFC版本和没有它的版本。

2 个答案:

答案 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

详细了解Requesting NFC Access in the Android Manifest

答案 1 :(得分:1)

您无法在不对清单添加以下权限的情况下访问NFC。

<uses-permission android:name="android.permission.NFC" />