nik*_*hil 13 android emulation nfc open-nfc
我想开始为Android开发NFC应用程序.我最近开始使用android,我发现它是一个非常有趣的开发平台.在我出去投资购买具有内置NFC阅读器和购买标签的Android设备之前,我想了解一个人如何为他们编写代码.
我找到了Open NFC Android模拟器,它似乎是我正在寻找的.我已下载:1.Open NFC for Android 2. Open NFC核心版
在为Open NFC创建了一个avd之后,我按照说明进行操作.
现在我面临的问题是,在模拟器中,当我进入无线设置然后启用NFC时,它表示存在错误.我已经尝试将IP设置为10.0.2.2以及我从ipconfig获得的IP但无济于事.没有我能看到的日志.此外,我尝试在运行防火墙时完全禁用防火墙,以免意外阻塞.
作为旁注,我想提一下,在启动模拟器之前,我已经启动了Connection Manager.
有没有人有使用Open NFC for Android的经验,如果有人可以指出我更好的指令集我会非常感激如果有人可以建议另一个模拟器我可以通过它尝试一些示例代码并更好地了解NFC .
adb logcat的输出是
W/KeyCharacterMap( 165): No keyboard for id 0
W/KeyCharacterMap( 165): Using default keymap: /system/usr/keychars/qwerty.kcm.bin
D/NfcSettings( 165): onPreferenceChange: Setting NFC key: nfc_cc_ip
D/NfcSettings( 165): onPreferenceChange: Setting NFC value: 10.0.2.2
D/NfcSettings( 165): onPreferenceChange: Setting System NFC NFC_CC_IP: 10.0.2.2
D/NfcSettings( 165): onPreferenceChange: Setting NFC key: nfc_hal_mode_list
D/NfcSettings( 165): onPreferenceChange: Setting NFC value: 1
D/NfcSettings( 165): onPreferenceChange: Setting NFC mPreferenceNfcHalMode: SIMULATOR:1
D/NfcSettings( 165): onPreferenceChange: Setting System NFC NFC_HAL_MODE: 1
W/InputManagerService( 68): Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@406df430
D/NfcEnabler( 165): Setting NFC enabled state to: true
D/OpenNFCService( 250): Enabling NFC. previous =false
D/OpenNFCService( 250): mIsNfcEnabled NFC =false
D/OpenNFCService( 250): _enable =true
D/OpenNFCService( 250): IOpenNFCService:setNFCEnabled(true)
D/OpenNFCService( 250): Invalid IP address
D/OpenNFCService( 250): can't create configuration !
D/OpenNFCService( 250): updateNfcOnSetting: false
D/OpenNFCService( 250): NFC success of _enabletrue) is false
D/OpenNFCService( 250): $$$NFC$$$ Will connect ! $$$NFC$$$
W/NfcEnabler( 165): Error setting NFC enabled state to true
Run Code Online (Sandbox Code Playgroud)
当我将IP更改为使用ipconfig获取的IP时,我得到相同的错误.
D/NfcSettings( 165): onPreferenceChange: Setting NFC key: nfc_cc_ip
D/NfcSettings( 165): onPreferenceChange: Setting NFC value: 114.31.179.86
D/NfcSettings( 165): onPreferenceChange: Setting System NFC NFC_CC_IP: 114.31.179.86
D/NfcEnabler( 165): Setting NFC enabled state to: true
D/OpenNFCService( 250): Enabling NFC. previous =false
D/OpenNFCService( 250): mIsNfcEnabled NFC =false
D/OpenNFCService( 250): _enable =true
D/OpenNFCService( 250): IOpenNFCService:setNFCEnabled(true)
D/OpenNFCService( 250): Invalid IP address
D/OpenNFCService( 250): can't create configuration !
D/OpenNFCService( 250): updateNfcOnSetting: false
D/OpenNFCService( 250): NFC success of _enabletrue) is false
D/OpenNFCService( 250): $$$NFC$$$ Will connect ! $$$NFC$$$
W/NfcEnabler( 165): Error setting NFC enabled state to true
Run Code Online (Sandbox Code Playgroud)
wyt*_*168 13
@nikhil:感谢TCP Echo Server的链接.运行echo服务器后,我的OpenNFC堆栈工作正常.因此,其他用户可以从此练习中受益,这里是如何使用NFC控制器(NFCC)模拟器设置OpenNFC堆栈的摘要.
- 仅在Windows主机上支持堆栈(使用NFCC模拟器),因为Connection Center和NFCC模拟器都是Windows应用程序.
- 需要下载所有3个包:
- 安装SDK插件,并使用SDK Addon创建AVD.
--start Connection Center(运行"Connection Center.exe")并将其配置为接受来自其他计算机的客户端连接.
- 启动NFCC模拟器(运行"NfcSimulator.exe").
--start echo server(在端口7上),使用cmd:echotool/p tcp/s 7
- 使用刚刚创建的AVD启动Android模拟器.
- 从仿真器中,选择设置 - >无线和网络 - > NFC设置
- 在IP连接中心输入10.0.2.2
- 选择用于NFC HAL实施的模拟器
- 现在点击NFC切换(复选框)以启动NFC堆栈!