【Android 应用开发】BluetoothServerSocket详解
一. BluetoorhServerSocket简介
1. 继承关系
public final class BluetoothServerSocket extends Object implements Closeable
继承了Object类, 实现了Closeable接口;
Closeable是可以关闭的数据源或者目标, 实现该接口必须重写close()方法, 调用close()方法可以释放该对象保存的资源;
2. 该类简介
使用BluetoothServerSocket可以创建一个监听服务端口, 使用accept()方法阻塞, 当该方法监测到连接的时候, 就会返回一个BluetoothSocket对象来管理这个连接, 例如获取输入输出流等;
RFCOMM端口是最常用的蓝牙端口, 该端口是面向连接的, 通过这个连接进行数据传输要遵守串口行为规范(Serial Port Profile, SPP);
该类用法 : BluetoothServerSocket对象时BluetoothAdapter对象调用listenUsingRfcommWithServiceRecord()方法, 调用accept()方法该方法就会将进程阻塞, 如果有BluetoothSock调用connect()方法连接到这个accept()中, 那个这个accept()方法就会返回一个BluetoothSocket对象;
调用BluetoothServerSocket方法的close()方法, 会释放该类占用的资源, 但是该类衍生出的BluetoothSocket对象不会被关闭;
二. 公共方介绍
(1)监听带超时连接
public BluetoothSocket accept (int timeout)
作用 : 该方法会阻塞, 知道监听到一个连接, 或者超时;
参数 : 阻塞时间;
返回值 : 监听到的BluetoothSocket连接;
(2)监听连接
public BluetoothSocket accept ()
作用 : 阻塞一直到连接建立;
返回值 : 监听到的BluetoothSocket连接;
(3)关闭端口
public void close ()
作用 : 关闭端口, 释放该端口占用的资源;
注意 : 如果这个端口在其它线程中accept()阻塞, 那么就会跑出异常, 关闭这个端口不会关闭accept()方法返回的BluetoothSocket对象;
【Android 应用开发】BluetoothServerSocket详解的更多相关文章
- 《Android NFC 开发实战详解 》简介+源码+样章+勘误ING
<Android NFC 开发实战详解>简介+源码+样章+勘误ING SkySeraph Mar. 14th 2014 Email:skyseraph00@163.com 更多精彩请直接 ...
- ANDROID L——Material Design详解(UI控件)
转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! Android L: Google已经确认Android L就是Android Lolli ...
- Cordova 打包 Android release app 过程详解
Cordova 打包 Android release app 过程详解 时间 -- :: SegmentFault 原文 https://segmentfault.com/a/119000000517 ...
- Cocos2d-x 3.X手游开发实例详解
Cocos2d-x 3.X手游开发实例详解(最新最简Cocos2d-x手机游戏开发学习方法,以热门游戏2048.卡牌为例,完整再现手游的开发过程,实例丰富,代码完备,Cocos2d-x作者之一林顺和泰 ...
- Android中Service(服务)详解
http://blog.csdn.net/ryantang03/article/details/7770939 Android中Service(服务)详解 标签: serviceandroidappl ...
- 给 Android 开发者的 RxJava 详解
我从去年开始使用 RxJava ,到现在一年多了.今年加入了 Flipboard 后,看到 Flipboard 的 Android 项目也在使用 RxJava ,并且使用的场景越来越多 .而最近这几个 ...
- Android:TextView跑马灯-详解
Android:TextView跑马灯_详解 引言: TextView之所以需要跑马灯,是由于文字太长,或者是吸引眼球. 关键代码如下: android:singleLine="true&q ...
- Android的init过程详解(一)
Android的init过程详解(一) Android的init过程(二):初始化语言(init.rc)解析 本文使用的软件版本 Android:4.2.2 Linux内核:3.1.10 本文及后续几 ...
- android ------- 开发者的 RxJava 详解
在正文开始之前的最后,放上 GitHub 链接和引入依赖的 gradle 代码: Github: https://github.com/ReactiveX/RxJava https://github. ...
- Android开发之MdiaPlayer详解
Android开发之MdiaPlayer详解 MediaPlayer类可用于控制音频/视频文件或流的播放,我曾在<Android开发之基于Service的音乐播放器>一文中介绍过它的使用. ...
随机推荐
- J2EE规范标准
J2EE是一个很大的平台体系,提供了很多服务.程序接口.协议等.这么庞大的体系必须要由一系列的标准进行规范,不然将会一片混乱.通过这些规范好的接口来开发程序将会使程序更加强壮.更加有生命力.总的来说, ...
- spark shuffle
Spark Shuffle 1. Shuffle相关 当Map的输出结果要被Reduce使用时,输出结果需要按key哈希,并且分发到每一个Reducer上去,这个过程就是shuffle.由于shuff ...
- shell 参数列表的获取&shell使用的一些总结
最近在修改公司的一些cron,自己也是第一次接触和学习shell.对于一些零散但是常用的知识点,做一点点的总结. 拿出一个方法说说吧,方法如下:(信息量挺大的,请耐心看下面的说明) trans_cou ...
- Android项目开发填坑记-Fragment的onBackPressed
Github版 CSDN版 知识背景 Fragment在当前的Android开发中,有两种引用方式,一个是 Android 3.0 时加入的,一个是supportV4包中的.这里简称为Fragment ...
- 详解EBS接口开发之销售订单挑库发放
1. 对销售订单的有效性验证 1)检查销售订单的行是否被完全传回客户化表 2)验证销售订单的关键字段 3)检查子库存是否启用了货位控制,如果启用了货位控制,没有生成货位, ...
- 01_MyBatis EHCache集成及所需jar包,ehcache.xml配置文件参数配置及mapper中的参数配置
1 与mybatis集成时需要的jar ehcache-core-2.6.5.jar mybatis-ehcache-1.0.2.jar Mybatis.日志.EHCache所需要的jar包如下 ...
- ubuntu连接android设备(附最简单方法)
在ubuntu下连接android设备,虽然不用像windows那样安装驱动,然而却会遇见一个错误:输入adb shell,会提示insufficient permissions for device ...
- Java五道输出易错题解析(进来挑战下)
转自:http://blog.csdn.net/lanxuezaipiao/article/details/41985243 收集了几个易错的或好玩的Java输出题,分享给大家,以后在编程学习中稍微注 ...
- (七十九)MapKit的基本使用
MapKit是苹果公司开发的用于显示地图和实现定位.导航的地图框架. MapKit View可以通过storyboard.xib创建,也可以通过代码直接创建. 需要注意的是,通过storyboard和 ...
- Troubleshooting Autoinvoice Import
metalink :1089172.1 In this Document Purpose Troubleshooting Steps AutoInvoice Execution Repor ...