亚洲精品网站在线观看不卡无广告,国产a不卡片精品免费观看,欧美亚洲一区二区三区在线,国产一区二区三区日韩,日本久久久久,日本-区二区三区免费精品,中文字幕日本亚洲欧美不卡

 首頁 > 新聞 > 國內(nèi) >

手把手教你如何開發(fā)AltBeacon安卓

2015-07-31 11:03:53   作者:藍(lán)牙技術(shù)聯(lián)盟    來源:CTI論壇   評(píng)論:0  點(diǎn)擊:


  模糊的Beacon追蹤

  我們的方法簡單而有效--保留了最近15秒的報(bào)告中提示位于范圍內(nèi)的Beacon的相關(guān)數(shù)據(jù)緩存,以及每個(gè)Beacon最近一次被探測到的精確時(shí)間。通過計(jì)時(shí)器任務(wù),把最近15秒內(nèi)沒有被探測到的Beacon視為“過期”、移除緩存。

  在可以稱得上“重中之重”的didRangeBeaconsInRegion方法中,我們更新了Beacon數(shù)據(jù)緩存和回調(diào)的Beacon對象列表,然后評(píng)估全部的緩存數(shù)據(jù),以判定目前距離最近的Beacon。于是測試的結(jié)果有了改善。這類似于數(shù)據(jù)平滑處理,相關(guān)代碼片段如下圖。

 

  圖5 - GyboApplication.java中的Beacon緩存設(shè)置和使用

  圖6 -BeaconEvent類別

  圖7 -負(fù)責(zé)終止BeaconEvent對象的計(jì)時(shí)器任務(wù)

  最后的最后,提醒用戶!

  一旦實(shí)際執(zhí)行了獲取范圍內(nèi)Beacon報(bào)告的代碼、采取了某種方式追蹤Beacon、并根據(jù)獲得的數(shù)據(jù)判斷哪一個(gè)Beacon離游客最近,那么就只剩最后一步了:在合適的情況下提示游客Beacon所關(guān)聯(lián)的展品信息。怎樣判斷是否“合適”呢?主要看最后一次生成的通知是否為同一Beacon相關(guān)的,因?yàn)闆]有必要反復(fù)提示用戶同一個(gè)展品的信息。還需要將估算的Beacon距離與既設(shè)的(觸發(fā)行為的)最小距離值進(jìn)行對比,判斷游客是否足夠靠近Beacon(也就是展品),然后決定是否發(fā)送展品信息。

  如果APP是在前臺(tái)運(yùn)行,提示游客的方法就很簡單:更新主要展覽信息頁面、顯示最近的展品介紹。我們使用內(nèi)存中有關(guān)Beacon及其對應(yīng)展品的數(shù)據(jù)結(jié)構(gòu),每個(gè)Beacon都有自己的ID,就可以分別對應(yīng)各自的展品信息,并在APP本地映射了這些數(shù)據(jù)的對應(yīng)關(guān)系,但正如第一篇中所講到的,對于除了原型以外的任何APP,最好從遠(yuǎn)程服務(wù)器上獲取相關(guān)數(shù)據(jù),根據(jù)位置或其他信息配置Beacon。

 

  圖8 -Beacon Information類別

  圖9 -ThingOfInterest類別

  通知列表下拉菜單中的通知,并將其鏈接到定義展品信息頁面的Activity。

 

  圖10 - 安卓系統(tǒng)通知,提示附近發(fā)現(xiàn)

  下圖是安卓通知的代碼。

 

  圖11 - 創(chuàng)建通知

分享到: 收藏

專題

永年县| 邹平县| 麻栗坡县| 巢湖市| 益阳市| 泌阳县| 金阳县| 枣阳市| 蓝山县| 临武县| 和林格尔县| 印江| 普兰县| 灵寿县| 石林| 驻马店市| 彰化县| 哈巴河县| 丰城市| 靖边县| 洮南市| 城步| 江川县| 龙里县| 余干县| 哈巴河县| 襄垣县| 兴业县| 屯留县| 荆州市| 绵竹市| 师宗县| 鞍山市| 温泉县| 达日县| 綦江县| 通榆县| 罗江县| 合作市| 黄骅市| 什邡市|