我写了一个连接蓝牙键盘的Android应用程序.它通过BT套接字连接到键盘并获取套接字的输入流.

InputStream inStrm = socket.getInputStream();

接下来我尝试读取输入流,但它说没有可用的字节.

int nBytesAvail = inStrm.available(); // always gives me 0

要么

int dataByte = inStrm.read(); // always generates IOException

例外情况说:软件导致连接中止

如果我尝试写入流,我会得到另一个例外:传输端点未连接.

可能会发生两件事之一.

>我首先担心的是,键盘上会有HID协议,在我说出正确的咒语之前,它不会透露它的秘密.那是对的吗?或者应该由BT套接字堆栈自动处理?套接字流似乎是一个标准的串行流,我不确定这是正确的.

>我的第二个担心是因为这是一个Galaxy Tab,我的问题可能只是因为三星已经删除了操作系统的特定部分(但我仍然可以从套接字连接获得有效的输入流吗?).据广泛报道,美国版本的Tab根本不会使用标准的Android BT实用程序连接到任何BT HID,尽管BT文件传输确实可以正常工作.

我想第三种可能性就是当我发生按键时我只是错过了按键.我不知道Java对来自HID的BT数据做了多少缓冲,但是如果建立套接字连接,数据应该出现在输入流中,不是吗?

我不愿意花更多的时间来解决这个问题,以防我完全采用错误的方式(参见#1),或注定要失败(见#2).

android实现蓝牙键盘,android – 如何与蓝牙键盘通话?相关推荐

  1. android通讯录管理(获取联系人,通话记录,短信消息),Android通讯录管理(获取联系人、通话记录、短信消息)(二)...

    Android通讯录管理(获取联系人.通话记录.短信消息)(二) 前言:上一篇博客介绍的是获取联系人的实现,本篇博客将介绍通话记录的实现. 界面布局: /Contact_Demo/res/layout ...

  2. android如何使用BroadcastReceiver后台实现来电通话记录的监听并存取到sqllite数据库通过Contentprovilder实现接口...

    BroadcastReceiver 是android四大组件的一个,本质上是一种全局的监听器,用于监听全局的广播消息.下面实现了后台监听android手机通话记录.本demo分两个程序,第一个程序是设 ...

  3. android拨打电话的日志,Android-9种通话状态(精确)

    一.介绍 在应用层监听通话状态只有三种,从TelephonyManager.java中注释可知这三种状态含义如下: CALL_STATE_IDLE 空闲态(没有通话活动) CALL_STATE_RIN ...

  4. 设置android电话震动,如何设置手机在通话接通和断开时震动

    [Android Version] Android V2.3 ( GB,GB2) Android V4.0, 4.1( ICS, ICS2, JB) Android V4.2( JB2,JB3,JB5 ...

  5. Android通讯录管理(获取联系人、通话记录、短信消息)

    前言:前阵子主要是记录了如何对联系人的一些操作,比如搜索,全选.反选和删除等在实际开发中可能需要实现的功能,本篇博客是小巫从一个别人开源的一个项目抽取出来的部分内容,把它给简化出来,可以让需要的朋友清 ...

  6. Android通讯录管理(获取联系人、通话记录、短信消息)(二)

    Android通讯录管理(获取联系人.通话记录.短信消息)(二) 前言:上一篇博客介绍的是获取联系人的实现,本篇博客将介绍通话记录的实现. 同样的,你可以到这里下载源码:http://download ...

  7. Android通讯录管理(获取联系人、通话记录、短信消息)(三)

    Android通讯录管理(获取联系人.通话记录.短信消息)(三) 这是通讯录管理的最后一篇,前面两篇已经把获取联系人和通话记录解决了,短息消息就相对来说要稍微复杂那么一点.我们先来看看效果图: 源码下 ...

  8. android自动发送dtmf,Android发送dtmf键盘事件(模拟通话界面键盘事件)

    1.第一步,在代码里加上以下方法 /** * 说明:发送dtmf事件 * Author: * @param keycode */ publicvoidsendDTMF(charkeycode) { t ...

  9. Android发展史(Android各版本特性-知识篇)

    文章整理了Android 0.x,Android 1.x, Android 2.x,Android 3.x,Android 4.x,Android 5.x,Android 6.x相关更新的内容 文章主 ...

  10. android tasker,Tasker:Android系统增强神器

    权限信息 · net.dinglisch.android.tasker.PERMISSION_RUN_TASKS · net.dinglisch.android.tasker.PERMISSION_A ...

最新文章

  1. KZWFoudation系列之Router的设计
  2. 【Android 事件分发】事件分发源码分析 ( ViewGroup 事件传递机制 七 )
  3. 记录sqlserver中使用变量
  4. ogm neo4j_Neo4J OGM与Quarkus
  5. java-JSON: Expected value at 1:0 错误
  6. 新建用户、付权限命令
  7. JavaScript操作大全整理(思维导图七--字符串函数)
  8. 查找整数c语言编程,关于算法:查找整数的位数
  9. .NET反编译工具Reflector及插件Reflector.FileDisassembler.dll
  10. Part2-HttpClient官方教程-Chapter5-流利的API
  11. 74HC/LS/HCT/F系列芯片的区别
  12. 复工后的前端学习建议,非常实用!
  13. Linux SVN “db/txn-current-lock: Permission denied”
  14. Micro Surface Pro 鼠标一直闪烁的问题
  15. ansys 基础建模(从0开始)
  16. python执行定时任务
  17. 正点原子嵌入式linux视频教程,正点原子嵌入式开发完整全套视频教程
  18. mysql 5.7 安装配置教程(windows 64位)
  19. python 分词库jieba
  20. 【印刷行业】RICOH MH5320和MH5340喷头(G6)

热门文章

  1. 辽宁石化职业技术学院计算机网络技术专业,辽宁石化职业技术学院
  2. 魅族16s是Android几,魅族16s真机上手:骁龙855+全球最小前摄,仅需3198
  3. golang 时间戳与日期转换
  4. 嵌入式linux 必懂概念科普篇
  5. # HPM127-HP128网络打印机重新配置
  6. java--第9章 输入输出流
  7. 云付认证已通过可以支付吗_云支付常见问题
  8. leetcode.84 leetcode739. 每日温度(都是单调栈)
  9. qq飞车鸿蒙车队,QQ飞车手游车队系统玩法详解 车队系统怎么玩
  10. Vim实用技巧_2.普通模式和插入模式