這篇文章主要介紹“Android中的位置管理器怎么使用”的相關(guān)知識(shí),小編通過實(shí)際案例向大家展示操作過程,操作方法簡(jiǎn)單快捷,實(shí)用性強(qiáng),希望這篇“Android中的位置管理器怎么使用”文章能幫助大家解決問題。
創(chuàng)新互聯(lián)一直通過網(wǎng)站建設(shè)和網(wǎng)站營銷幫助企業(yè)獲得更多客戶資源。 以"深度挖掘,量身打造,注重實(shí)效"的一站式服務(wù),以網(wǎng)站制作、成都做網(wǎng)站、移動(dòng)互聯(lián)產(chǎn)品、營銷型網(wǎng)站建設(shè)服務(wù)為核心業(yè)務(wù)。10多年網(wǎng)站制作的經(jīng)驗(yàn),使用新網(wǎng)站建設(shè)技術(shù),全新開發(fā)出的標(biāo)準(zhǔn)網(wǎng)站,不但價(jià)格便宜而且實(shí)用、靈活,特別適合中小公司網(wǎng)站制作。網(wǎng)站管理系統(tǒng)簡(jiǎn)單易用,維護(hù)方便,您可以完全操作網(wǎng)站資料,是中小公司快速網(wǎng)站建設(shè)的選擇。一、在Manifest里聲明合適的權(quán)限
要想獲取位置更新,第一步需要在manifest里聲明合適的權(quán)限。如果忘了聲明相應(yīng)的權(quán)限,那么你的應(yīng)用在運(yùn)行時(shí)會(huì)報(bào)安全異常。當(dāng)你使用LocationManagement方法的時(shí)候,需要設(shè)置權(quán)限ACCESS_CORASE_LOCATION或者 ACCESS_FINE_LOCATION,例如,如果你的應(yīng)用使用了基于網(wǎng)絡(luò)的信息服務(wù),你需要聲明N ACCESS_CORASE_LOATION權(quán)限,要想獲取GPS請(qǐng)求你需要聲明ACCESS_FINE_LOCATION權(quán)限。值得注意的是如果你聲明了ACCESS_FINE_LOCATION權(quán)限隱含著你也聲明了ACCESS_CORASE_LOCATION權(quán)限。 假如一個(gè)應(yīng)用使用了基于網(wǎng)絡(luò)的位置的信息服務(wù),你需要聲明因特網(wǎng)權(quán)限。
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <uses-permission android:name="android.permission.INTERNET" />
二、獲得一個(gè)位置管理的引用
LocationManager是一個(gè)主類,在android里你通過這個(gè)類你可以使位置服務(wù)。使用方法類似于其他的服務(wù),通過調(diào)用 getSystemService方法可以獲得相應(yīng)的引用。如果你的應(yīng)用想要在前臺(tái)(在Activity里)獲得位置更新,你應(yīng)該在onCreate() 里執(zhí)行以下語句。
LocationManager locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);
三、挑選一個(gè)位置提供者
當(dāng)沒有請(qǐng)求的時(shí)候,現(xiàn)在大部分android電源管理可以通過多種底層技術(shù)可以獲得位置更新,這種技術(shù)被抽象為L(zhǎng)ocationProvider類的應(yīng) 用。在時(shí)間、精度、成本、電源消耗等方面,位置提供者有不同的運(yùn)行特性。通常,像GPS,一個(gè)精確的位置提供者,需要更長(zhǎng)的修正時(shí)間,而不是不精確,比如 基于網(wǎng)絡(luò)的位置提供者。 通過權(quán)衡之后你必須選擇一種特殊的位置提供者,或者多重提供者,這些都依賴與你的應(yīng)用的客戶需求。例如,比如說一個(gè)關(guān)鍵點(diǎn)的簽到服務(wù),需要高精度定位,而 一個(gè)零售商店定位器使用城市級(jí)別的修正就可以滿足。下面的代碼段要求一個(gè)GPS提供者的支持。
LocationProvider provider = locationManager.getProvider(LocationManager.GPS_PROVIDER);
你提供一些輸入標(biāo)準(zhǔn),比如精度、功率需求、成本等等,讓android決定一個(gè)最合適的位置匹配提供者。下邊的代碼片段需要的是更精確的位置提供者而不是 考慮成本。需要注意的是這個(gè)標(biāo)準(zhǔn)不能幫你解決任何的提供者,可能返回值為空。這個(gè)時(shí)候你的應(yīng)用應(yīng)該能夠很好的處理這種情況
// Retrieve a list of location providers that have fine accuracy, no monetary cost, etc Criteria criteria = new Criteria(); criteria.setAccuracy(Criteria.ACCURACY_FINE); criteria.setCostAllowed(false); ... String providerName = locManager.getBestProvider(criteria, true); // If no suitable provider is found, null is returned. if (providerName != null) { ... }
四、檢查位置提供者是否使能
在設(shè)置里,一些位置提供者比如GPS可以被關(guān)閉。良好的做法就是通過調(diào)用isProviderEnabled()方法來檢測(cè)你想要的位置提供者是否打開。如果位置提供者被關(guān)閉了,你可以在設(shè)置里通過啟動(dòng)Intent來讓用戶打開。
@Override protected void onStart() { super.onStart(); // This verification should be done during onStart() because the system calls // this method when the user returns to the activity, which ensures the desired // location provider is enabled each time the activity resumes from the stopped state. LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); final boolean gpsEnabled = locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER); if (!gpsEnabled) { // Build an alert dialog here that requests that the user enable // the location services, then when the user clicks the "OK" button, // call enableLocationSettings() } } private void enableLocationSettings() { Intent settingsIntent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS); startActivity(settingsIntent); }
關(guān)于“Android中的位置管理器怎么使用”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí),可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,小編每天都會(huì)為大家更新不同的知識(shí)點(diǎn)。
名稱欄目:Android中的位置管理器怎么使用-創(chuàng)新互聯(lián)
網(wǎng)站網(wǎng)址:http://aaarwkj.com/article4/gcsoe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、定制網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)、ChatGPT、企業(yè)網(wǎng)站制作、商城網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容