国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

使用Java藍(lán)牙無線通訊技術(shù)API概述之二

2019-11-18 10:48:20
字體:
供稿:網(wǎng)友

  數(shù)據(jù)元素類
  
  一個(gè)服務(wù)可以有許多的屬性,一些是強(qiáng)制性的,其他的是可選的。一個(gè)服務(wù)屬性由一個(gè)數(shù)據(jù)元素對(duì)象來表現(xiàn),這個(gè)數(shù)據(jù)元素對(duì)象提供了設(shè)置并取得屬性值的方法。
  
  強(qiáng)制性屬性是在注冊(cè)一個(gè)服務(wù)之后被自動(dòng)設(shè)定的。這些屬性包括:
  
  ServiceRecordHandle,ServiceClassIDList,ServiceRecordState,ServiceID,還有PRotocolDescriptorList。
  
  假如你想要的話,還可以設(shè)置可選屬性??蛇x屬性有很多,但是有三個(gè)值得關(guān)注:ServiceName,ServiceDescription,和ProviderName。想得到更多的關(guān)于這些屬性的信息,請(qǐng)參看JABWT的文檔或藍(lán)牙規(guī)范。
  
  設(shè)備治理API
  
  有3個(gè)主要的類來支持設(shè)備治理:
  
  .LocalDevice
  
  .RemoteDevice
  
  .DeviceClass
  
  本地設(shè)備類LocalDevice類標(biāo)識(shí)了本地藍(lán)牙設(shè)備。藍(lán)牙應(yīng)用程序和LocalDevice之間的關(guān)系是典型的一對(duì)一關(guān)系:
   使用Java藍(lán)牙無線通訊技術(shù)API概述之二(圖一)
  圖 10:本地設(shè)備類
  
  本地設(shè)備提供了方法來返回關(guān)于本地設(shè)備的信息,并且能夠進(jìn)入Bluetooth manager:
  
  .getBluetoothAddress()返回藍(lán)牙設(shè)備地址。
  
  .getDeviceClass()返回設(shè)備類。
  
  .getFriendlyName()返回設(shè)備友好名稱,藍(lán)牙設(shè)備名通常是用戶在藍(lán)牙控制中心為其設(shè)置的我們將會(huì)在后面看到。
  
  .getRecord()返回一個(gè)指定藍(lán)牙連接的服務(wù)記錄。
  
  .updateRecord()方法用來為指定的ServiceRecord更新SDDB服務(wù)記錄。
  
  .getDiscoverable()返回設(shè)備的可發(fā)現(xiàn)狀態(tài)。
  
  .setDiscoverable()設(shè)置設(shè)備的可發(fā)現(xiàn)狀態(tài)。
  
  .getDiscoveryAgent()返回一個(gè)參考給發(fā)現(xiàn)代理。
  
  .getProperty()返回一個(gè)設(shè)備的藍(lán)牙屬性。
  
  通過調(diào)用getProperty()方法你可以得到的屬性包括:
  
  .bluetooth.api.version,藍(lán)牙API版本
  
  .bluetooth.sd.attr.retrievable.max,一次性能夠被獲得的服務(wù)記錄屬性的最大值
  
  .bluetooth.connected.devices.max,支持的連接設(shè)備的最大值
  
  .bluetooth.sd.trans.max,同時(shí)發(fā)生的服務(wù)發(fā)現(xiàn)處理的最大值
  
  .bluetooth.l2cap.receiveMTU.max,L2CAP最大發(fā)射單元
  
  你可以在javadoc文檔中或是規(guī)范中學(xué)習(xí)更多的有關(guān)藍(lán)牙屬性的內(nèi)容。
  
  遠(yuǎn)端設(shè)備類
  
  一個(gè)RemoteDevice的實(shí)例代表了一個(gè)遠(yuǎn)端藍(lán)牙設(shè)備。在一個(gè)藍(lán)牙客戶端應(yīng)用程序可以進(jìn)行服務(wù),消費(fèi)之前,它必須發(fā)送一個(gè)設(shè)備請(qǐng)求來發(fā)現(xiàn)遠(yuǎn)端設(shè)備。典型的藍(lán)牙應(yīng)用程序和遠(yuǎn)端設(shè)備之間的關(guān)系是一對(duì)多:
   使用Java藍(lán)牙無線通訊技術(shù)API概述之二(圖二)
  圖 11: 遠(yuǎn)端設(shè)備類
  
  遠(yuǎn)端設(shè)備(RemoteDevice)提供的方法中,有些很類似于本地設(shè)備(LocalDevice)里提供的方法:
  
  .getBluetoothAddress()返回藍(lán)牙地址。
  
  .getFriendlyName()返回藍(lán)牙設(shè)備名。
  
  .getRemoteDevice()返回相應(yīng)的被指定藍(lán)牙連接的遠(yuǎn)端設(shè)備。
  
  .authenticate()嘗試識(shí)別驗(yàn)證遠(yuǎn)端設(shè)備。
  
  .authorize()為指定的藍(lán)牙連接去嘗試批準(zhǔn)遠(yuǎn)端設(shè)備訪問本地設(shè)備。
  
  .encrypt()嘗試為指定的藍(lán)牙連接開啟或關(guān)閉加密。
  
  .isAuthenticated()測(cè)試是否遠(yuǎn)端設(shè)備可以被驗(yàn)證。
  
  .isAuthorized()測(cè)試是否遠(yuǎn)端設(shè)備已經(jīng)被藍(lán)牙控制中心授權(quán)訪問本地設(shè)備以進(jìn)行藍(lán)牙連接。
  
  .isEncrypted()測(cè)試是否本地設(shè)備和遠(yuǎn)端設(shè)備之間的通信被加密。
  
  .isTrustedDevice()測(cè)試是否遠(yuǎn)端設(shè)備被藍(lán)牙控制中心指定為可信任的。
  
  DeviceClass類一個(gè)DeviceClass對(duì)象代表一個(gè)設(shè)備的設(shè)備類(CoD),例如一個(gè)打印機(jī)或者一部電話。CoD包括一個(gè)主類,一個(gè)輔的類,和服務(wù)類型或服務(wù)類。DeviceClass提供了如下方法:
  
  .getMajorDeviceClass()方法獲取設(shè)備的主類。
  
  .getMinorDeviceClass()方法獲取設(shè)備的輔類。
  
  .getServiceClasses()獲取設(shè)備的服務(wù)類。
  
  當(dāng)一個(gè)設(shè)備被發(fā)現(xiàn),同時(shí)他的類也會(huì)被發(fā)現(xiàn);當(dāng)發(fā)現(xiàn)代理調(diào)用deviceDiscovered()時(shí),其中一個(gè)參數(shù)就是DeviceClass。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 万州区| 屏南县| 马公市| 安塞县| 浦县| 榆林市| 波密县| 民乐县| 东阳市| 平陆县| 达州市| 石屏县| 屏南县| 洪洞县| 清丰县| 横峰县| 九台市| 福海县| 凌源市| 江油市| 台南市| 博爱县| 织金县| 凌源市| 巴林左旗| 敦煌市| 九龙城区| 瑞丽市| 达孜县| 永川市| 嘉荫县| 婺源县| 玉屏| 深州市| 佛山市| 安阳县| 望奎县| 诸城市| 聊城市| 库尔勒市| 石门县|