android - Android 虚拟设备 (AVD) 的 NFC 标签仿真

标签 android android-emulator emulation nfc open-nfc

有没有办法在没有支持 NFC 的手机的情况下开发 NFC 标签读/写应用程序?有没有办法创建启用了 NFC 的 AVD?我已经搜索并发现 Open NFC 存在,但我现在找不到太多关于它的信息。它已经过时了吗?有没有其他方法可以实现?

最佳答案

Google 从未在 AVD 中实现对 NFC 的支持。所以安卓设备模拟器中没有官方对NFC的支持。

早在 Android 上的 NFC 早期,Inside Secure 就开发并发布了 NFC 堆栈“Open NFC”。尽管有它的名字,Open NFC 并不像它的名字所暗示的那样开放,并且主要针对 Inside 的 NFC 前端范围。该 NFC 堆栈的一个很好的副作用是它的仿真器集成,类似于诺基亚的 NFC 虚拟设备支持其 S40 系列手机的功能。 Open NFC 项目的公共(public)文件在 SourceForge 上仍然可用:here .然而,该项目早就被放弃了(可能是由于selling their NFC technology to Intel)。

Open NFC 的最新版本针对 Android 4.2.1(与 Android 4.2.2 一起使用),因此如果您可以接受该平台,您可以尝试设置该 AVD 环境。可在此处获得分步指南:Open NFC Simulator Usage (有关缺少的组件,请参见此处:Failed to load open-nfc addon in android platform)。

较新 Android 版本上的 NFC 堆栈发生了显着变化(如今,整个 Android NFC 堆栈基于 libnfc-nci,它最初针对 Broadcom 的 NFC Controller 并实现了 NFC 论坛的 NFC Controller 接口(interface)规范)。因此,Open NFC 的实现不再兼容最新的 Android 版本。

请注意,仍然可以通过注入(inject) NFC Intent 通过代码进行至少一些有限的测试(例如,对单元测试有用)。见

但请注意,这些方法依赖于 Android NFC 堆栈的内部结构,您可能需要查看您所针对的任何 Android 版本的代码以模拟正确的信息。

关于android - Android 虚拟设备 (AVD) 的 NFC 标签仿真,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49146532/

相关文章:

android - 试图重新打开一个已经关闭的对象 : sqlitequery

安卓开发工具包。获取 NOTIFICATION_SERVICE 以恢复,而不是启动新实例

java - 从 Android 中的应用程序添加布局 View

c# - Xamarin.Forms:Map.IsShowingUser 未显示当前位置?

Android 模拟器皮肤布局 - 是否有工具和规范?

android - 如何缩短 Android 开发时间

Android 应用程序未安装到设备上

networking - 如何在Windows Phone模拟器上启用Wi-Fi并搜索网络

android - android 中的设备方向缺少动态添加的图像?

java - 正确的编码方式