博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android蓝牙栈bluez使用方法
阅读量:6980 次
发布时间:2019-06-27

本文共 1471 字,大约阅读时间需要 4 分钟。

本文来自:

    很多开发人员在最新的Android 0.9 SDK中没有找到蓝牙栈相关的参考,不过在官方消息中我们已经看到了是采用的是org.bluez相关的Package。这里主要介绍下Android蓝牙SDP相关的例程,我们看到是.intent.action,分为4个阶段:  

org.bluez.intent.action.DISCOVERY_STARTED 开始探测
org.bluez.intent.action.REMOTE_DEVICE_FOUND   远程设备找到
org.bluez.intent.action.REMOTE_NAME_UPDATED  获取远程设备名称
org.bluez.intent.action.DISCOVERY_COMPLETED  完成SDP
大概的使用方法如下,在开发板上可以测试下,首先移植下org.bluez库
public void onStart(int startId, Bundle args)
{
          super.onStart( startId, args );
          try{
          IBluetoothService ibtservice = BluetoothServiceNative.getBluetoothService();  //获取一个实例,其实在Android中已经准备好了系统服务
          if( ibtservice == null ) {                 
                 stopSelf();  //失败了就Exit
                 return;
               }
           
          manager=ibtservice.getManager();
               if( manager == null ) {            
                    stopSelf();
               }
         
               if(! ibtservice.isBluetoothStarted()){
                    ibtservice.startBluetooth();  //开始服务
               }
          miadapter=manager.getDefaultAdapter();
               miadapter.startDiscovery();  //准备探测了
                          
               String[] dispositivos=miadapter.listRemoteDevices();  //远程设备mac列表
               
               if (dispositivos.length==0){
                    Toast.makeText(this, R.string.no_found_devices, Toast.LENGTH_SHORT).show();  //没有找到蓝牙设备
               }else{
                    for (int i=0; i<dispositivos.length;i++){
                            //已经找到的蓝牙设备,准备配对然后干什么就看你自己了,当然比如获取设备类型是handset、ftp还是别的,根据Mac可以初步判断,当然标准GPS会使用串口来通讯。
                    }
               }
          }catch(Exception e){
               System.out.println(e.getMessage());
          }
     }
打开通讯后可以导入下面的类
import org.bluez.Manager;
import org.bluez.Adapter;
import org.bluez.IBluetoothService;
import org.bluez.BluetoothServiceNative;
具体的Android蓝牙栈相关的以后再讲吧。

原文地址:

转载于:https://www.cnblogs.com/yyq-quan/archive/2011/08/16/2141554.html

你可能感兴趣的文章
贝塞尔曲线学习
查看>>
P4269 [USACO18FEB]Snow Boots G
查看>>
Exceptions Interview Questions
查看>>
《少年派的奇幻漂流》观后感
查看>>
Extjs:添加查看全部按钮
查看>>
UNIX/Linux系统管理技术手册(3)----bash 数组和算术运算
查看>>
LINQ之路19:LINQ to XML之X-DOM更新、和Value属性交互
查看>>
笔记之远程桌面服务(RDS)
查看>>
怎样操作vue.js使用3DES加密
查看>>
js实现点击<li>标签弹出其索引值
查看>>
DIV限制宽度,字符断行,避免变形
查看>>
通过进程ID获得该进程主窗口的句柄
查看>>
快速把web项目部署到weblogic上
查看>>
.Net 文件流 System.IO之Stream
查看>>
Jmeter 笔记
查看>>
一个JS对话框,可以显示其它页面,
查看>>
IDEA ctrl+alt+L 格式化快捷键无效时解决
查看>>
前端小知识
查看>>
子弹实例化的代码
查看>>
URAL 2027 URCAPL, Episode 1 (模拟)
查看>>