在本教程中,我們將通過構(gòu)建一個簡單的過程beacon-enabled Android應(yīng)用,解釋的基本概念,信標(biāo)技術(shù)的可能性和局限性因谎。
?這個主要的主體是機(jī)場的app铃拇。您可以下載教程的完整源代碼并跟進(jìn)。
目錄
預(yù)備知識
創(chuàng)建一個燈塔項(xiàng)目
添加Estimote SDK
運(yùn)行時權(quán)限(Android 6.0)
關(guān)鍵的外賣
預(yù)備條件
1 x計算機(jī)與Android studio恰矩。
1 xandroid設(shè)備版本是Android 4.3或以上鸠真。
1 x Estimote帳號(注冊)掷豺。
1或多個Estimote信標(biāo)。
創(chuàng)建一個燈塔項(xiàng)目
1赎瑰、首先創(chuàng)建一個新的Android項(xiàng)目王悍。最小SDK設(shè)置為18
2、Add Estimote SDK
在您的app應(yīng)用上的gradle添加
dependencies{
compilefileTree(dir:'libs',include:['*.jar'])
compile'com.android.support:appcompat-v7:23.0.1'
// add the following line, and replace "0.10.4" with the latest version// of Estimote Android SDK; you'll find the latest version number on://? https://github.com/Estimote/Android-SDK/releases
compile'com.estimote:sdk:0.10.4@aar'
}
然后Sync Now
3餐曼、運(yùn)行權(quán)限 (Android 6.0)
添加ACCESS_COARSE_LOCATION(wifi)權(quán)限压储,詳情查詢6.0權(quán)限添加
不能主動取獲取權(quán)限,比如wifi源譬、位置等集惋,但是你可以調(diào)用SystemRequirementsChecker.checkWithDefaultDialogs(this);
來告訴用戶需要這個權(quán)限。這樣就會用默認(rèn)系統(tǒng)的dialog的形式提示用戶需要用到ACCESS_COARSE_LOCATION
在您的mainactivity中
@Override
protected void onResume()
{
super.onResume();
SystemRequirementsChecker.checkWithDefaultDialogs(this);
}
關(guān)鍵總結(jié)
1踩娘、Android SDK Estimote添加到您的項(xiàng)目中,聲明這是一個在“構(gòu)建依賴刮刑。gradle”文件。
2养渴、雖然Estimote SDK要求應(yīng)用程序請求藍(lán)牙和互聯(lián)網(wǎng)權(quán)限功能,它可以自動照顧雷绢。你不需要聲明這些。
3理卑、從Android 6.0開始,你還需要為你的應(yīng)用權(quán)限請求位置能夠發(fā)現(xiàn)信標(biāo),并在運(yùn)行時必須要求這些權(quán)限翘紊。使用一個SystemRequirementsChecker輔助方法這樣做。