请问android蓝牙怎么让便携式票据打印机VMP01-PB打印数据

解决方案 »

  1.   

    http://topic.csdn.net/u/20100124/17/1ca5bc30-ecad-41fa-a118-5d465b85d978.html
    蓝牙打印
      

  2.   


    关于android蓝牙方面的介绍很多,但是android 蓝牙打印相对来说比较少,关注中..1. 在linux这一层,Android使用了bluez这个开源蓝牙协议栈。其中包括底层的sdp协议、rfcomm协议等。当然也包括其它一些子协议。代码在/external/bluez中。
    2. Android在其源代码树上实现了Headset和A2dp两个profile。其中A2dp是利用了bluez里面的a2dp实现的,而 Headset则是直接在rfcommsocket的基础上自己写,而不是直接利用bluez中的Headset profile。不明白为啥这么干,难道android开发团队是为了给我们介绍蓝牙profile在android中的两种实现方法?看起来似乎是多此一举,但是,这对于开发蓝牙打印功能则是一个好消息!
    3. Bluetooth支持蓝牙打印功能,其对应的profile是BPP(即Basic Printing Profile)。需要自行在Android中实现该profile! 
    4. 一个更加不幸的消息是, 根据BPP协议栈的层次,BPP需要OBEX profile的支持,而Android中没有实现OBEX profile!
    5. 因此,解决方案如下:
    i. 到http://bluetooth.com/Bluetooth/Technology/Works/Profiles_Overview.htm 下载 OBEX与BPP的profile文档;
    ii. 下载Android 1.5/1.6源代码
    iii.在源代码树上,仿照Android中的Headset实现 OBEX的profile
    iv. 实现BPP的profile