当前位置:首页 » 安卓系统 » 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”功能按钮;

热点内容
手机f加密 发布:2024-05-19 03:28:47 浏览:225
用什么密码写日记 发布:2024-05-19 03:27:57 浏览:303
数据库access2003 发布:2024-05-19 02:49:39 浏览:620
碧蓝航线pc挂机脚本 发布:2024-05-19 02:30:03 浏览:589
脚本fir 发布:2024-05-19 02:28:57 浏览:261
阿里云独享服务器 发布:2024-05-19 02:23:54 浏览:253
织梦源码ga 发布:2024-05-19 02:23:20 浏览:571
java文件名后缀 发布:2024-05-19 02:14:39 浏览:956
快手点榜脚本 发布:2024-05-19 02:08:44 浏览:163
pythonforinkeys 发布:2024-05-19 01:55:44 浏览:793