當前位置:首頁 » 安卓系統 » android獲取gps信息

android獲取gps信息

發布時間: 2022-06-22 10:39:09

⑴ 怎樣在android模擬器模擬定位GPS功能

在模擬器上獲取GPS信息時,使用Location loc = LocationManager.getLastKnownLocation("gps");來獲取location信息,但是往往在調試中loc是null的,因為首先需要在模擬器中手動添加GPS信息,有兩種手動添加方法
1、在eclipse下,windows-->open perspective-->DDMS-->Emulator control-->Manual下手動設置經緯度,並按send按鈕。
2、在cmd下手動添加信息。
(1)首先打開模擬器,然後運行cmd,輸入telnet localhost 5554(註:5554是模擬器在本機的埠,有可能不一樣哈,具體埠號,模擬器左上方有顯示的),這樣會出現
Android Console: type 'help' for a list of commands
OK的字樣。
如果是使用WIN7的朋友,控制台可能會提示telnet無效什麼的,那是因為WIN7下默認是不出現telnet的,需要手動打開。具體為:[1]控制面板-->程序-->打開或關閉Windows功能,然後將Telnet伺服器和Telnet客戶端勾選上。[2]然後在管理工具-->服務中手動啟動Telnet
(2)使用geo命令模擬發送GPS信號:
geo fix 經度 緯度
(3)這時就會發現在模擬器的狀態欄上多了一個GPS的標志~再使用Location loc = LocationManager.getLastKnownLocation("gps");就能獲取到該坐標的位置了~~

⑵ Android開發,手機獲取 GPS位置信息,求助手機睡眠以後獲取GPS位置信息

一直搜索gps是因為無法定位。一般國產手機的gps晶元型號不行(用的晶元是集成在手機主晶元上的),搜星速度慢,無法定位。我用三星的手機不用開a-gps都能一分鍾搜到信號定位成功。但用中興的手機就不行,用a-gps經常是5分鍾以上才能定位。另外高速移動也影響定位計算。還有手機會保存上次定位的一些信息,這樣在下次開gps時定位更快,你在高速上開gps,換了新地方計算定位花的時間會更長。建議你改改手機里的設置,換一個a-gps的定位網路伺服器地址

安卓手機如何開啟GPS定位服務

SKEID 手機定位服務是在無線【78-25】狀態下基於通信位置的定位【64=11】服務。騰達定位軟體公司通過多種渠道終於可以為廣大顧客提供手機定位服務,只要知道手機號碼便可以獲知對方目前所處的准確位置,並用手機查詢或收取附近各種場所的資訊;手機定位服務的巨大魅力正是在於能在正確的時間,正確的地點把正確的信息發送給正確的人。 同時它還可以對手機用戶進行定位,並對手機用戶的位置進行實時監測和跟蹤,使所有被控對象都顯示在監控中心的電子地圖上,一目瞭然, 如果您要找的人是處於關機狀態下,還是可以定位的,只要卡在手機里就可以。 原理:根據手機與移動基站信號間的交互,產生的資料源,得出此手機所在位置的經緯度結果,利用技術查找出其所在的地理位置。 定位軟體功能說明:
1:對方一旦通話時,您的手機會有嘀嘀嘀的提示音。
2:全國范圍不限距離,不限場地。
3:同時可以輸入20個電話號碼,可以隨時更改號碼。
4:中國移動,聯通,小靈通,CDMA都可以。
5:對方通話時,非常清楚的聽到對方談話內容。.
6:簡訊攔截1000條。
7:衛星導航系統,可以顯示對方的所在地.誤差精確到5米內。

8:全國各地大小城市地圖,每年自動更新。
9:錄音長達300小時,可任意播放

⑷ 安卓手機如何開啟GPS定位服務

1、首先打開自己的手機,然後找到設置圖標,點擊進入。


⑸ mqtt 怎麼實現android以後台service的方式獲取gps數據,並定時發送到伺服器

1 從Service繼承一個類。
2 創建startService()方法。
3 創建endService()方法 重載onCreate方法和onDestroy方法,並在這兩個方法裡面來調用startService以及endService。
4 在startService中,通過getSystemService方法獲取Context.LOCATION_SERVICE。
5 基於LocationListener實現一個新類。默認將重載四個方法onLocationChanged、onProviderDisabled、onProviderEnabled、onStatusChanged。對於onLocationChanged方法是我們更新最新的GPS數據的方法。一般我們的操作都只需要在這里進行處理。
6 調用LocationManager的requestLocationUpdates方法,來定期觸發獲取GPS數據即可。在onLocationChanged函數裡面可以實現我們對得到的經緯度的最終操作。
7 最後在我們的Activity裡面通過按鈕來啟動Service,停止Service。
示意代碼如下:
package com.offbye.gpsservice;
import android.app.Service;
import android.content.Context;
import android.content.Intent;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Binder;
import android.os.IBinder;
import android.util.Log;
public class GPSService extends Service {
// 2000ms
private static final long minTime = 2000;
// 最小變更距離10m
private static final float minDistance = 10;
String tag = this.toString();
private LocationManager locationManager;
private LocationListener locationListener;
private final IBinder mBinder = new GPSServiceBinder();
public void startService() {
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
locationListener = new GPSServiceListener();
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, minTime, minDistance,
locationListener);
}
public void endService() {
if (locationManager != null && locationListener != null) {
locationManager.removeUpdates(locationListener);
}
}
@Override
public IBinder onBind(Intent arg0) {
// TODO Auto-generated method stub
return mBinder;
}

⑹ Android 怎樣穩定的獲取原生GPS數據

定位了就有經緯度,沒定位,則一直閃的;
一般是4個星的時候 會定位。
所以可以根據是否獲取有效的經緯度信息來判斷是否定位。

衛星的個數 sv_status也是可以通過API獲取的。LOCATION類
給你一段我的代碼,看看就知道了。

locationManager.addGpsStatusListener(statusListener);//偵聽GPS狀態

private GpsStatus.Listener statusListener = new GpsStatus.Listener()

{

public void onGpsStatusChanged(int event)

{

// TODO Auto-generated method stub

GpsStatus gpsStatus= locationManager.getGpsStatus(null);

Log.v(TAG,"GPS status listener ");

//Utils.DisplayToastShort(GPSService.this, "GPS status listener ");

switch(event)

{

case GpsStatus.GPS_EVENT_FIRST_FIX:{

//第一次定位時間UTC gps可用

//Log.v(TAG,"GPS is usable");

int i=gpsStatus.getTimeToFirstFix();

Utils.DisplayToastShort(GPSService.this, "GPS 第一次可用 "+i);

Utils.setGPSStatus(Utils.GPS_STATUS.START);

break;

}

case GpsStatus.GPS_EVENT_SATELLITE_STATUS:{//周期的報告衛星狀態

//得到所有收到的衛星的信息,包括 衛星的高度角、方位角、信噪比、和偽隨機號(及衛星編號)

Iterable<GpsSatellite> allSatellites;

allSatellites = gpsStatus.getSatellites();

Iterator<GpsSatellite>iterator = allSatellites.iterator();

int numOfSatellites = 0;

int maxSatellites=gpsStatus.getMaxSatellites();

while(iterator.hasNext() && numOfSatellites<maxSatellites){

numOfSatellites++;

iterator.next();

}

Log.v(TAG,"GPS is **unusable** "+ numOfSatellites +" "+ maxSatellites);

if( numOfSatellites < 3){

// Utils.DisplayToastShort(GPSService.this, "***衛星少於3顆***");

Utils.setGPSStatus(Utils.GPS_STATUS.STOP);

} else if(numOfSatellites > 7){

Utils.setGPSStatus(Utils.GPS_STATUS.START);

}

break;

}

case GpsStatus.GPS_EVENT_STARTED:{

//Utils.DisplayToastShort(GPSService.this, "GPS start Event");

break;

}

case GpsStatus.GPS_EVENT_STOPPED:{

//Utils.DisplayToastShort(GPSService.this, "GPS **stop*** Event");

Utils.setGPSStatus(Utils.GPS_STATUS.STOP);

break;

}

default :

break;

}

}

};

⑺ android 如何去獲取手機Gps的信號強度

首先,進入設置選項,在主屏界面中按下Android手機Menu鍵,在彈出的進階菜單中選擇最後一項「Settings」;
將滑動條拖動至最下方,點擊「About Phone」分類;
選擇第二項「Status」分類;
這時,就能夠看到「Signal Strength」選項,前面的-xx(這是一個負數數字)dBm則是手機信號強度。一般「0」—「-50」之間都是一個非常不錯的信號強度,而數值越小則代表著信號越差。

⑻ android 獲取gps,當調用到network報錯

說明你的測試手機沒有network provider,有這種情況的,換個手機就行了。
你可以先查詢一下你的手機上都有哪些provider。
通過android.location.LocationManager#getAllProviders方法來列出所有的provider,一看就明了了。

⑼ 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) {

}

⑽ 在安卓模擬器中如何使用模擬GPS定位!

1、首先打開安卓模擬器,點擊安卓模擬器上的「GPS」功能按鈕;

熱點內容
androidjsonkey 發布:2024-05-06 03:07:31 瀏覽:730
python主線程子線程 發布:2024-05-06 03:07:20 瀏覽:763
android系統截屏 發布:2024-05-06 02:57:51 瀏覽:776
android居左 發布:2024-05-06 02:40:26 瀏覽:45
網頁設置的密碼如何刪除 發布:2024-05-06 02:20:30 瀏覽:926
如何查看snmp配置信息 發布:2024-05-06 02:19:48 瀏覽:489
預科編程 發布:2024-05-06 02:19:42 瀏覽:140
壓縮比英文 發布:2024-05-06 01:56:35 瀏覽:173
數字php 發布:2024-05-06 01:53:10 瀏覽:743
編程中怎麼 發布:2024-05-06 01:43:32 瀏覽:630