㈠ android中GPS定位如何綜合運用GPS、基站、網路定位
基站定位一般都支襪耐模持的啊。google map本身的定位就是支持基站定位的。你試試mobiletrack,可以綜合用基站定告緩位,wifi和gps定位的。試試看是不是你想要的。網上可以免費下載。畝指你搜搜吧
㈡ Android模擬器模擬基站信息,並將wifi偽造成4g數據信息
許多國產軟體都會使用基站進行定位,android模擬器是沒有流量卡的,所以沒有基站位置,但是我們可以通過Xposed來讓模擬器擁有指定的基站信息。擁有基站信息的模擬器就可以在地圖app中定位了,這種方式比通過hook修改經緯度要更加好一點,可能大多數軟體都是基站來判斷,而不是經緯度。
基站定位使用到如下概念
通過telephonyManager # getNetworkOperator()獲取得到,它返回一個字元串長度為5的值,前3位就是MCC ,後兩位為MNC
接下來就是我們Xposed出場的時候了,通過真機運行BaseStationInfoDemo項目(包含上面這些方法)得到真實數據信息。將數據記錄並運行HookCellInfoDemo項目(修改了模擬器的基站信息),然後在模擬器上運行BaseStationInfoDemo項目,觀察日誌輸出,並可以在模擬器上打卡網路地圖等地圖軟體觀察當前位置。
getCellLocationMethodHook的實現如下:族含棚
就是在beforeHookedMethod中直接通過setResult將新建的帶有基站LAC和CID信息的GsmCellLocation 返回。
首先看下源碼中NerworkInfo類的實現方式,發現其是一個實現了Parcelable接兆則口的序列化對象,它擁有多個成員變數,這里只需要修改6個,其他的在wifi或者4g網路的情況下的值不變
這樣的話,最終模擬器的網路情況是有wifi圖標,但是在指定包名內獲取到的網老行絡類型和NetworkInfo卻是4g類型的數據,符合我們的業務需求。
附上源碼地址: https://github.com/carrys17/CellInfo
裡面的兩個文件夾分別就是BaseStationInfoDemo項目和HookCellInfoDemo項目
㈢ android手機能不能通過基站獲得地理位置的
可以。
在Android操作系統散岩下,基站定位其實很簡單,先說一下實現流程:
調用SDK中的API(TelephonyManager)獲得MCC、MNC、LAC、CID等信息,然後通過google的API獲得所在位置的御臘經緯度,最後再通過google
map的API獲鎮掘滑得實際的地理位置。(google真牛!)
㈣ 請問目前主流Android 定位有哪些,還有百度定位和gps定位有什麼區別
你好:
目前主流的Android定位有如下幾種:
1.通過GPS模塊
GPS方式准確度是最高的,但是它的缺點也非常明顯:1,比較耗電;2,絕大部分用戶默認不開啟GPS模塊;3,從GPS模塊啟動到獲取第一次定位數據,可能需要比較長的時間;4,室內幾乎無法使用。這其中,缺點2,3都是比較致命的。需要指出的是,GPS走的是衛星通信的通道,在沒有網路連接的情況下也能用。
2.基站定位
大致思路就是採集到手機上的基站ID號(cellid)和其它的一些信息(MNC,MCC,LAC等等),然後通過網路訪問一些定位服務,獲取並返回對應的經緯度坐標。基站定位的精確度不如GPS,但好處是能夠在室內用,只要網路通暢就行。
3.WIFI定位
和基站定位類似,這種方式是通過獲取當前所用的wifi的一些信息,然後訪問網路上的定位服務以獲得經緯度坐標。因為它和基站定位其實都需要使用網路,所以在Android也統稱為Network方式。
4.AGPS方式
很多人將它和基站定位混為一談,但其實AGPS的本質仍然是GPS,只是它會使用基站信息對獲取GPS進行輔助,然後還能對獲取到的GPS結果進行修正,所以AGPS要比傳統的GPS更快,准確度略高。
網路定位和GPS定位的區別
這個問題有點模糊,不是一個概念,注意區分一下,智能手機上網路地圖的定位一般選擇GPS開啟吧。
㈤ android手機基站定位,無法獲取經緯度
首先locationManager裡面有個getAllProvider的方法,應該是這么寫的,我記得不是埋搏哪很清楚銀譽了,把所有支持的provider都打出來看看彎碼,我估計你那個手機可能不支持network,很多手機都不支持。
㈥ 華為安卓android手機查看基站信息的命令是什麼
1、華為android手機查看基站信息的命令是
1)在撥號鍵盤輸入
*#*#4636#*#*
,
選擇
「手升毀機信知逗息」
2)「位置」那行顯示的就是當前的16進制基站信息,把LAC和CID
填入到本站的
基站查詢
頁面,選擇16進制查詢,即可顯示地圖位置。
3)除了LAC,CELLID外,搭笑賣還可以顯示當前的信號強度,網路類型等等
㈦ android 定位地理位置
定位技術有兩種,一種是基於GPS的定位,一種是基於移動運營網的基站的定位。基於GPS的定位方式是利用手機上的GPS定位模塊將自己的位置信號發送到定位後台來實現手機定位的。基站定位則是利用基站對手機的距離的測算距離來確定手機位置的。後者不需要手機具有GPS定位能力。
目前,一般的定位軟體所使用的都是GPS定位和基站定位相結合。基站定位是通過電信移動運營商的網路(如GSM網)獲取移動終端用戶的位置信息(經緯度坐標)。GPS定位使用衛星,比較費電,精確,但在室內無法定位。基站定位的精度較低,但是可以在室內定位。基站定位的精度很大程度依賴於基站的分布及覆蓋范圍的大小,有時誤差會超過一公里。
手機定位應該根據用戶服務需求的不同提供不同的精度服務,並可以提供給用戶選擇精度的權利。例如美國FCC推出的定位精度在50米以內的概率為67%,定位精度在150米以內的概率為95%。定位精度一方面與採用的定位技術有關,另外還要取決於提供業務的外部環境,包括無線電傳播環境、基站的密度和地理位置、以及定位所用設備等。
基站定位的大致原理為:行動電話測量不同基站的下行導頻信號,得到不同基站下行導頻的TOA(Time of Arrival,到達時刻)或TDOA(Time Difference of Arrival,到達時間差),根據該測量結果並結合基站的坐標,一般採用三角公式估計演算法,就能夠計算出行動電話的位置。實際的位置估計演算法需要考慮多基站(3個或3個以上)定位的情況,因此演算法要復雜很多。一般而言,移動台測量的基站數目越多,測量精度越高,定位性能改善越明顯。
還有,你在使用手機網路地圖等軟體的時候,在不打開網路和GPS的情況下,實際上也能實現定位。但是你可能看不出來,因為在你沒有打開網路的時候,地圖頁面不會載入,看到的只是全屏的網格。但你會看到進入時的點位置有一個明顯的跳動過程,這是該軟體設置的初始位置向你當前位置跳轉。你也可以先打開網路,實用軟體載入一遍地圖,如其存在你的緩存中,這是在關閉網路的情況下就會顯示你的位置。
資料來源:http://ke..com/link?url=UCgPUX7gVVa08-G4Ss-e4N52vlGBg8jrRdytEW7YP_
㈧ android基站定位,是否必須有網路才可以
定位服務可以通過gps、基站還納襲洞有wifi數據實現,而且對應用程洞枯序開發者還是透明的定位服務禪配可以用基站和wifi嗎?? Gps可以確定你的經緯度 基站和wifi好像不行
㈨ android如何獲取地理位置
三種方式進行定位,獲取用戶位置,分別是基於基站定位, 網路定位,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 " /> //精確定位
<uses-permission android:name= "android.permission.ACCESS_MOCK_LOCATION" /> //模擬器
<uses-permission android:name= "android.permission.ACCESS_COARSE_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 onStatusChanged(String provider, int status, Bundle extras) {
}
@Override
public void onProviderEnabled(String provider) {
}
@Override
@Override
public void onLocationChanged(Location location) {
System. out.println( "服務中位置監聽發送了變化了" );
float accuracy = location.getAccuracy(); // 精確度
double altitude = location.getAltitude(); // 海拔
double latitude = location.getLatitude(); // 緯度
double longitude = location.getLongitude(); // 經度
String locationInfo = "jing:" + longitude + ",wei:" + latitude + ",haiba:" + altitude + ",jingque:" + accuracy;
Editor edit = sp.edit();
edit.putString( "location", locationInfo);
edit.commit();
}
} public void onProviderDisabled(String provider) {
}
㈩ 百度地圖android版,是如何做到通過基站定位到如此准確的
這是火星坐標系的余肢原因..因為定位用的大多不是本國的衛星..定位出的坐標在中國不會准確..都會 有 在圓形范圍內隨機的 400 - 600米的偏移.我有一個解析火豎敬世星坐標系的類.. 年前測試的時候 通稿祥過這個類 來 反算經緯度 還是非常准確的..只有10米左右的誤差..但是不知道幾年的火星演算法更新沒有...