Android 平台 NFC 代码概览

6020阅读 0评论2013-03-05 Meacheal
分类:Android平台

感觉 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);

上一篇:国外android论坛
下一篇:刷卡器音频通讯技术(待整理)