android怎麼獲取使用者所在地csdn

2021-08-21 02:07:03 字數 1386 閱讀 9279

1樓:小傻

三種方式進行定位,獲取使用者位置,分別是基於基站定位, 網路定位,gps定位。

1.基站定位(passive):這是基於網路基站進行定位的,定位的精確度在幾十米到幾千米不等,在城市中基站覆蓋率比較高,推薦使用基站定位,如果是在郊區,基站相距較遠,基站的覆蓋沒有城裡好,定位的誤差比較大。

如果在郊區不推薦使用基站定位。

2.網路定位:wifi定位,網路定位

3.gps定位:與衛星進行通訊。

手機中嵌入了gps模組(精簡版的a-gps),通過a-gps搜尋衛星, 獲取經緯度。使用gps的弊端是:必須站在空曠的地方,頭頂對著天空,如果雲層厚了,也會受到一定的影響。

精確度:10-50米

擴充套件知識:

使用android是定位必備的許可權:

< uses-permission android:name= " android.permission.access_fine_location " />      //精確定位

//模擬器

//粗糙定位

//獲取定位管理物件

locationmanager  lm=(locationmanager)getsystemservice(location_service);

string names=lm.getallproviders();//獲取所有的位置提供者,一般三種

criteria  criteria=new criteria();//查詢條件,如果設定了海拔,則定位方式只能是gps;

criteria.setcostallowed(true);//是否產生開銷,比如流量費

string provider=lm.getbaseprovider(criteria,true)//獲取最好的位置提供者,第二個引數為true,表示只獲取那些被開啟的位置提供者

lm.requestlocationupdates(provier,0,0,new locationlistener(){});//獲取位置。第二個參數列示每隔多少時間返回一次資料,第三個參數列示被定位的物體移動每次多少米返回一次資料。

private class mylocationlistener implements locationlistener

@override

public void onproviderenabled(string provider)

@override

@override

public void onlocationchanged(location location)

}   public void onproviderdisabled(string provider)

2樓:匿名使用者

這個好像手機沒有這個功能吧,最多就是通過軟體定位....

android應用怎麼獲取系統許可權

分哪種許可權,一般的系統許可權,在管理 應用 許可權設定就可以了。如果是一些比較敏感的許可權,就需要root了。在 android 的api中有提供 systemclock.setcurrenttimemillis 函式來修改系統時間,可惜無論你怎麼呼叫這個函式都是沒用的,無論模擬器還是真 機,在l...

android服務中怎麼獲取context

service的本身就是context。差不多這樣吧,我不太會用術語表達。如何在service中獲得context context是一個抽象基類,我們通過它訪問當前包的資源 getresources getassets 和啟動其他元件 activity service broadcast 以及得到各...

android5 0不root怎麼獲取許可權控制

root後才能獲取許可權。root有些軟體開啟之後就會請求獲取root授權,比如螢幕錄製軟體 系統修改軟體等進入之後都是會彈出授權視窗,點選允許授權即可。有些軟體是不會主動要求獲取許可權的,只有在使用軟體的高階功能的時候才會觸發授權請求,比如lbe大師的root主動防禦功能,qq的截圖功能 一些內建...