分类: Android平台
2013-03-05 16:06:42
感觉 win8/wp8 里面的 nfc 功能完全可以借鉴。如果按照 nxp 的说法,那其实,他们的栈应该一样才对。但是,win8/wp8 的 proximity api 的确很简单,没法和 android 的相比,等欧的读卡器出来了,试试用 c# 替代 java 层,移植一把。如下为 android 中的 nfc 功能与其对应文件的概览:
--------------- /system/framework/com.android.nfc_extras.jar---------------
访问控制: /system/etc/nfcee_access.xml
com.android.nfc_extras NFC EE 访问支持组件
.NfcAdapterExtras EE Adapter
.NfcExeEnv EE 可执行环境
--------------------- /system/framework/framework.jar----------------------
android.nfc 标准接口 (NFCAdapter/NfcManager)
android.nfc.tech 标签技术
----------------------------- /system/Nfc.apk------------------------------
com.android.nfc NFC 服务相关
.DeviceHost 底层设备接口原型
.NfcService Nfc 服务 实现 DeviceHostListener 接口
com.android.nfc.dhimpl NFC 功能底层实现-com.android.nfc.DeviceHost (NXP)
.NativeNfcManager implements DeviceHost
JNI-> com_android_nfc_NativeNfcManager.cpp (libnfc_jni.so)
.NativeNfcSecureElement
JNI-> com_android_nfc_NativeNfcSecureElement.cpp (libnfc_jni.so)
------------------------ /system/lib/libnfc___.so--------------------------
libnfc-nxp => libnfc.so, libnfc_ndef.so
libnfc-nci => libnfc-nci.so
============================================================================
NFCService:doOpenSecureElementConnection()
mSecureElement.doOpenSecureElementConnection();
NFCService:doTransceiveNoLock
mSecureElement.doTransceive(handle, cmd);
NFCService:doTransceiveNoLock
mSecureElement.doDisconnect(handle);