<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 手機與無線通信 > 設(shè)計應(yīng)用 > Android上藍(lán)牙通信功能開發(fā)

          Android上藍(lán)牙通信功能開發(fā)

          作者: 時間:2012-07-09 來源:網(wǎng)絡(luò) 收藏

          1. 概述

          本文引用地址:http://www.ex-cimer.com/article/154455.htm

            Bluetooth 是幾乎現(xiàn)在每部手機標(biāo)準(zhǔn)配備的,多用于耳機 mic 等設(shè)備與手機的連接,除此之外,還可以多部手機之間建立 bluetooth ,本文就通過 SDK 中帶的一個聊天室的例程,來介紹一下 上的 Bluetooth 的。

            在 1.x 的時候,相關(guān) API 非常不完善,還不能簡單的使用 Bluetooth ,有一個開源項目可以幫助程序員使用、,支持直接方法bluetooth 協(xié)議棧。在 2 以后,框架提供了一些官方 API 來進行,但目前的程序也比較不完善。本文主要討論 Android2 后的Bluetooth 的 API 使用方法。

            首先看聊天室的效果圖:

            

          1.gif

            2. Bluetooth 通信 API 介紹2.1. Bluetooth 通信過程

            

          2.gif

          2.2. Bluetooth API 的主要方法

            BluetoothAdapter 類

            BluetoothAdapter.getDefaultAdapter() :得到本地默認(rèn)的 BluetoothAdapter ,若返回為 null 則表示本地不支持;

            isDiscovering() :返回設(shè)備是否正在發(fā)現(xiàn)周圍藍(lán)牙設(shè)備;

            cancelDiscovery() :取消正在發(fā)現(xiàn)遠(yuǎn)程藍(lán)牙設(shè)備的過程;

            startDiscovery() :開始發(fā)現(xiàn)過程;

            getScanMode() :得到本地藍(lán)牙設(shè)備的 Scan Mode ;

            getBondedDevices() :得到已配對的設(shè)備;

            isEnabled() :藍(lán)牙是否啟用。

            當(dāng)發(fā)現(xiàn)藍(lán)牙未啟用時,如下調(diào)用設(shè)置啟用藍(lán)牙:

            if (! mBluetoothAdapter .isEnabled()) {

            Intent enableIntent = new Intent(BluetoothAdapter. ACTION_REQUEST_ENABLE );

            startActivityForResult(enableIntent, REQUEST_ENABLE_BT );

            }

            復(fù)制代碼

            如果發(fā)現(xiàn)當(dāng)前設(shè)備沒有打開對外可見模式,則傳遞 Intent 來調(diào)用打開可發(fā)現(xiàn)模式,代碼如下:

            Intent discoverableIntent = new Intent(BluetoothAdapter. ACTION_REQUEST_DISCOVERABLE ); discoverableIntent.putExtra(BluetoothAdapter. EXTRA_DISCOVERABLE_DURATION , 300);

            startActivity(discoverableIntent);

            復(fù)制代碼

            BluetoothDevice 類,此為對應(yīng)的遠(yuǎn)程藍(lán)牙 Device

            createRfcommSocketToServiceRecord() :創(chuàng)建該 Device 的 socket 。

            BluetoothSocket 類

            connect() :請求連接藍(lán)牙。

            getInputStream() :得到輸入流,用于接收遠(yuǎn)程方信息。

            getOutputStream() :得到輸出流,發(fā)送給遠(yuǎn)程方的信息。

            close() :關(guān)閉藍(lán)牙連接。

            InputStream 類:

            read(byte[]) :以阻塞方式讀取輸入流。

            OutputStream 類:

            write(byte[]) :將信息寫入該輸出流,發(fā)送給遠(yuǎn)程。

          數(shù)字通信相關(guān)文章:數(shù)字通信原理


          通信相關(guān)文章:通信原理



          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();