zoukankan      html  css  js  c++  java
  • 手把手教你在Android手机上实现蓝牙键盘的支持

    我们知道,Windows Phone、Symbian目前都对蓝牙键盘有着良好的支持,Apple也出了自己的蓝牙键盘,同样可以完成iPhone的绝大多数操作。但是 Android……悲剧!!!Android的官方ROM(AOSP源码)以及那些比如HTC Sense、Moto Blur等等神马的面对蓝牙键盘瞬间浮云……

    而据分析发现,Android系统其实保留了蓝牙键盘的通道,也就是HID设备的蓝牙频道,而到现在只有CyanogenMod的ROM利用了这个通道并集成了HID蓝牙设备的支持。如下图:

    虽然现在很多型号的Android都可以有CyanogenMod可以用了,但除了杰出的性能,其界面与操作仍逊色于MIUI、Sense等ROM

    好吧,下面我们就动手将蓝牙驱动模块整合到Android系统中,把手中的Android变成一台Mini Pad。

    准备工作:

    1、Android手机一台,型号不限,系统已取得ROOT根权限(这个是大前提!)

    2、蓝牙键盘一个,型号不限,淘宝有卖,避免广告嫌疑。

    3、Android手机已安装Root Explorer(也称R.E.浏览器)

    下载链接:

    http://down.apk.gfan.com/asdf/Pfiles/2011/7/160027_54baf26e-7a0e-4153-8a7e-071dd5019591.apk

    4、安装Terminal超级终端(有这个的话即便身边没有电脑,也可以随时随地操作)

    目前主要有两个版本,我用的是电子市场下载的57KB版

    5、下载如下两个驱动模块文件:

    http://androidobex.googlecode.com/files/hcitool
    http://androidobex.googlecode.com/files/hidd
    这两个是修改系统所需要的全部工具文件~

    准备活动到此结束,下面开始修改系统

    【刷机有风险,操作需谨慎!谨慎…慎……】

    1、把刚才第五步下载的两个驱动文件传入手机,然后通过Root Explorer复制到/system/bin下

    (需要Root权限,而且将根目录设置成可读写)

    2、打开手机的蓝牙开关,打开蓝牙键盘,开启配对模式(不同蓝牙键盘操作方式不同,不过大致相似,长按功能键)。此时手机会搜索到你的蓝牙键盘……此时不要配对

    3、打开超级终端,输入我下面【】内的内容~这个要细心,不要打错,注意“【】”不要输入,只输入里面的内容!

    【su】

    输入后按回车键,输入行的前面符号由#变为$,表示成功

    (这个是为超级终端获取Root权限,完成后键盘输入框如果消失,长按Menu键弹出)

    【hcitool scan 】

    回车后会显示出:

    Scanning …
    B9:85:09:06:05:7E Bletooth Keyboard

    (搜索蓝牙设备,为的是得到蓝牙键盘的MAC地址)

    此时用笔几下那个XX:XX:XX:XX:XX:XX,这个是你的蓝牙键盘的专属识别号

    【hidd --server】

    (启动手机的HID蓝牙服务,开启那个没被利用的蓝牙通道。这个为了确保开通,这个命令请执行两遍,第二遍会显示错误命令:already in use,表示开启成功)

    【hidd --connect B9:85:09:06:05:7E 】

    (这步是手动将刚才集成的HID模块与蓝牙键盘连接,成功后输入框会再次消失)

    conect命令后面的地址就是你的蓝牙键盘的MAC地址

    【hcitool con】

    (查看连接状态)

    若成功,会显示:

    Connections:
    < ACL B9:85:09:06:05:7E handle 1 state 1 lm MASTER

    表示你的蓝牙设备已经连接!

    好了,现在可以关掉超级终端,将搜狗输入法调整到全键盘模式,尽情high吧。

    注意:当蓝牙键盘、手机蓝牙关闭,或两者之间连接因各种原因终端,需要重新连接!

    不过之后的连接简单多了。

    先打开短信,输入

    【hidd --connect B9:85:09:06:05:7E 】

    里的内容,并复制。我一般存到电话本里,需要连接的时候调用出来,这条命令最关键!

    然后打开手机、键盘的开关,将蓝牙键盘调整到配对模式(每次连接都需要)

    打开超级终端,输入:

    【su】

    【hidd --connect B9:85:09:06:05:7E 】

    这两条命令

    试试,是不是又可以用了?

    http://page.renren.com/601028090/note/787284059?op=next&curTime=1323145264000

  • 相关阅读:
    JMeter压力测试并发测试(入门篇)
    System.currentTimeMillis()的性能问题以及解决方法
    Java日期时间API系列4-----Jdk7及以前的日期时间类的线程安全问题【转】
    使用Apache Commons Chain
    Spring中的InitializingBean接口的使用[转]
    Hash环/一致性Hash原理【转】
    ASP.NET Core 进程内模型和进程外模式
    如何运行多个同名Windows服务实例
    WPF系列 —— 控件添加依赖属性
    WPF系列——简单绑定学习
  • 原文地址:https://www.cnblogs.com/adodo1/p/4327400.html
Copyright © 2011-2022 走看看