我通过GPS用locationmanager获取不到位置,不会回调onLocationChanged

我通过GPS用locationmanager根本获取不到位置 不会回调onLocationChanged,室内室外都不行,移动了也不行,用的真机测试

 private LocationListener listener = new LocationListener() {
        @Override
        public void onLocationChanged(Location location) {
            LogUtil.e("onLocationChanged");
            if (location == null) {
                return;
            }

            ToastUtil.showShortToast(MyApplication.getInstance().getApplicationContext(),"获取位置"+location.getLatitude() + "");
            //纬度
            LogUtil.e(location.getLatitude() + "");
            //经度
            LogUtil.e(location.getLongitude() + "");
            sendLocation(location.getLatitude() + "", location.getLongitude() + "");
        }

        @Override
        public void onStatusChanged(String provider, int status, Bundle extras) {
        /*即使某个供应商是enable,也不表示可以从他处监听位置信息,例如GPS是enable的,但是搜索不到卫星,
        状态包括有:OUT_OF_SERVICE,TEMPORARILY_UNAVAILABLE和AVAILABLE*/
        }

        @Override
        public void onProviderEnabled(String provider) {
        /* 当用户在系统设置中,开启某个位置供应商*/
        }

        @Override
        public void onProviderDisabled(String provider) {
        /*当用户在系统设置中,关闭某个供应商。如果某个供应商是disabled,当通过requestLocationUpdate()
        向系统注册监听位置,马上就会触发onProviderDisabled()。*/

        }
    };





        locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, listener);



0

2个回答

一般gps在国内很多都开不了,用自带的话,用网络定位吧....
locationProvider = LocationManager.NETWORK_PROVIDER;
locationManager.requestLocationUpdates( locationProvider, 0, 0, locationListener );

0

1:你用的的是GPS定位,先确定手机是否支持GPS定位。
//获取所有可用的位置提供器

List providers = locationManager.getProviders(true);

if(providers.contains(LocationManager.GPS_PROVIDER)){

    }else if(providers.contains(LocationManager.NETWORK_PROVIDER)){  

    }else{  
        Toast.makeText(this, "没有可用的位置提供器", Toast.LENGTH_SHORT).show();  
        return ;  
    }  

2:支持GPS后,第一次定位需要长达五分钟之久,后面定位就快了。
3:GPS定位需要在空旷的地方。

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
使用GPS定位为什么location总为空 而且onLocationChanged()方法没调用呀
package com.example.gpstest;   import java.text.BreakIterator; import java.text.SimpleDateFormat; import java.util.List; import java.util.Locale; import java.util.Timer; import java.util.TimerT
locationManager 回调方法不调用问题?
当locationManager都设置好了后开始定位服务后回调方法didUpdateToLocation不调用 [_locationManager setDelegate:self];  [_locationManager startUpdatingLocation]; 结果花了几个小时发现我是在非主线程里调用定位,在main thread里调用就ok了 - (void)lo
安卓位置服务locationManager使用时候遇到的坑
我们使用下面的代码创建一个安卓服务, 用来获取手机的位置信息, 并通过sharedpreferences 保存在 config.xml文件中。 1. 我们得到的provider 总是null, 查阅资料发现, 是我们没有开权限,因而得到的总是null, 这个问题比较隐蔽, 因为一般在Activity中所需要用到的权限 如读取手机联系人, 收发短信等都是会报错的, 但是这里没有。 <use
android上子线程中调用GPS功能
今天调试了android上调用GPS的功能,在网上找了很多文章,方法是: locationManager = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE );//初始化LocationMa
使用LocationManager获取定位信息
最近项目用到定位,获取经纬度的需求,在项目中使用了百度的地图的定位功能,获取到了定位信息,已经详细的地址,国家,省份,城市等,因为要用到百度的其他功能就引入的百度的包,(这里就不详细介绍百度定位了,官方文档都特别详细!),我个人感觉如果只是单独使用定位功能,我们只需要使用Android自带的就好,下面就我个人了解到介绍一下定位管理器LocationManager    使用LocationMana...
Android使用Google提供的地图实现定位时LocationListener的各个方法
private final LocationListener locationListener = new LocationListener() {        public void onLocationChanged(Location location) { //当坐标改变时触发此函数,如果Provider传进相同的坐标,它就不会被触发            // log it wh
Android开发:LocationManager获取经纬度及定位过程(附demo)
在Android开发当中,经常需要用到定位功能,尤其是依赖于地理位置功能的应用,很多人喜欢使用百度地图,高德地图提供的sdk,开放API,但是在仅仅需要经纬度,或者城市,街道地址等信息,并不需要提供预览地图,地图界面的应用中,这时,不需要使用百度地图,高德地图,这样做只会增加apk的体积,怎么办呢? 其实LocationManager,Geocoder这些Android API给我们提供的这
android获取位置location为null的问题
很多人经常遇到这种问题,主要是获取到位置的信息为null,第一个主要要有权限               第二个我们调用的方法是 Location location = locationManager.getLastKnownLocation(provider);  这个方法主要是获取上一次的经纬度信息,上一次的话肯定是空的啦。。这是要注册一下获取事件的监听器 等一会以后
获取经纬度方法的使用以及常见问题
常用方法: xml文件的配置 uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />   uses-permission android:name="android.permission.INTERNET" />   uses-permission android:name="and
如果LocationListener中onStatusChanged无法返回实时GPS定位状态可以通过卫星已定位辅助判断
代码如下: package dls.tbox.service; import java.util.ArrayList; import java.util.Iterator; import java.util.Vector; import android.content.Context; import android.location.GpsSatellite; import android.
Android保证首次获取到的location对象不为空的解决方案
在阅读《第一行代码》和《疯狂android讲义》后,得到的启发式解决方案。 如果仅以GPS_PROVIDER获取location对象,那么在onCreate方法中,location一般都会为空,且在室内无法测试。 所以有了如下简单的解决方案: package com.example.locationtest; import android.location.Location; import
安卓LocationManager获取当前地理位置(经纬度)
1.首先创建LocationManager对象 2调用方法得到位置信息 3.设置监听,监听位置变化信息 代码:public class MainActivity extends AppCompatActivity { private TextView tv_jing;//经度 private TextView tv_wei;//维度 public final Lo
解决用手机自带GPS获取经纬度location为空的问题
获取经纬度这个功能在现在看来很常见!但是真正获取出来是不容易的! 我这两天有个功能需要用到经纬度,当时一开始想用手机自带的GPS定位获取经纬度, 但是遇到了问题:location为空!在网上各种查,各种忽悠小朋友的代码!最终还是没有解决!又看到一篇博客说用百度,(http://www.tuicool.com/articles/yINfaa)解决是解决了,但是我还是想用Locationmanag
android 使用LocationManger一定位就掉星问题
使用LocationManager进行定位管理,代码如下: locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); locationManager.requestLocationUpdates( LocationManager.GPS_PROVIDER, 1000, 0, lo
[android] 百度地图开发 (三).定位当前位置及getLastKnownLocation获取location总为空问题
前一篇百度地图开发讲述"(二).定位城市位置和城市POI搜索",主要通过监听对象MKSearchListener类实现城市兴趣点POI(Point of Interest)搜索。该篇讲述定位当前自己的位置及使用getLastKnownLocation获取location总时为空值的问题。其基本步骤如下: 1.先实例LocationManager,getSystemService(Context.LOCATION_SERVICE)再确定获取系统的定位服务;2.选择位置提供器...最后提出问题及解决方法包括源码
Android关于位置的requestLocationUpdates方法可以准确到多少精度?如果是结合蓝牙呢?
RT,并且再问多一句......该怎么结合蓝牙得到位置呢?
android 6.0 熄屏后导致GPS 位置 监听无法获取
程序在进行导航时需要获取GPS 位置信息,使用小米手机和华为 (6.0)系统,测试发现app在熄屏后差不多一分钟左右,位置信息不再改变。当点亮手机屏幕之后一切又恢复正常。之前在6.0以下也会出现此类状况,经设置wakelock后不再出现。 PowerManager pm; PowerManager.WakeLock wakeLock; //防止手机进入休眠状态
Android——通过GPS获取用户地理位置并监听位置变化
这个功能挺简单的,最近用到了就总结下:1、开启地理位置监听: /* * 开启地理位置监听 */ public void registerGpsListener(Context context) { Log.i(TAG, "registerGpsListener() start"); mLocationManager = (LocationM
Android LocationManager定位之获取经纬度以及城市信息
**Android LocationManager定位之获取经纬度**在安卓开发中有是需要记录用户位置用作用大数据分析,这些统计仅仅需要经纬度以及城市信息,不需要其他的信息,如果接入第三方定位sdk就会显得大材小用,使得程序的整个功能架构显得有些冗余,在不接入第三方定位SDK的前提下可以使用安卓原生的定位API(LocationManager,Geocoder),通过LocationManager可
Pro Android学习笔记(一一六):Location(2):LocationManager的位置获取
文章转载只能用于非商业性质,且不能带有虚拟货币、积分、注册等附加条件。转载须注明出处http://blog.csdn.net/flowingflying以及作者@恺风Wei-傻瓜与非傻瓜。 LocationManager提供两个主要功能:1、获取设备的地理位置(经纬度);2、当设备进入制定的地理位置,通过通过intent通知。 获取位置信息的基本方法 简单的代码片段如下: privat
彻底解决Android GPS没法定位这一顽固问题
大家去网上搜索Android定位location为null没法定位问题,估计有一大堆文章介绍如何来解决,但是最后大家发现基本没用。本文将从Android定位实现原理来深入分析没法定位原因并提出真正的解决方案
android 的三种定位方式
Android 定位大致分为三大类:GPS定位;Network定位;AGPS定位。而Network又细分为WIFI定位和基站定位。下面详细讲解每种定位:   Android GPS:需要GPS硬件支持,直接和卫星交互来获取当前经纬度。   优点:速度快、精度高、可在无网络情况下使用。   缺点:首次连接时间长、只能在户外已经开阔地使用,设备上方有遮挡物就不行了、比较耗电。   代码: /
更踪设备的地理位置(LocationManager)
Android系统中的地理位置数据是由LocationManager系统服务提供的。该系统服务向所有需要地理数据的应用提供数据更新。
解决“locationManager.removeUpdates()关闭不了gps定位”的方法
最近做一个gps项目的中途,遇到了一个问题,我调用locationManager.removeUpdates(listener)这个方法后,本以为gps定位就会停止,但是并没有停止gps定位功能,gps信号栏里的还是继续在闪烁,之后就各种百度,也找不到正确的解决方法,然后又去翻墙继续谷歌,最终找到了解决方法,在此记录一下,帮助那些因为这个问题困惑的人。
关于使用LocationManager时遇到的问题
在使用下面这行代码的时候,android studio提示Call requires permission which may be rejected by user  Location location = locationManager.getLastKnownLocation(locationProvider);
获取当前的位置
如何得到的位置,而无需使用GPS 使用LocationManager,获取当前的位置。
Android开发中定位解析(GPS定位、网络定位、位置地址解析)
在Android开发中地图和定位是很多软件不可或缺的内容,这些特色功能也给人们带来了很多方便。定位一般分为三种发方案:即GPS定位、网络定位以及基站定位。   最简单的手机定位方式当然是通过GPS模块,GPS方式准确度是最高的,但是它的缺点也非常明显: 1,比较耗电;2,绝大部分用户默认不开启GPS模块;3,从GPS模块启动到获取第一次定位数据,可能需要比较长的时间;4,室内几乎
(七十六)CoreLocation(二)获取经纬度、速度、方向,进行区域监听
【经纬度、速度、时间】 上节说到了更新位置的代理方法,这个方法传入了位置管理者自己和一个位置数组: - (void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations{ } 数组中放的每一个元素都是一个CLLocation对象,为了得到最新的位置,我们应当获取数组的最后一个元素。 CLLocation主要包含了经纬度、海拔、速度、时间等信息。 CLLocation中的经纬度存储在CLLoc
华为手机6.0GPS获取不到定位信息
使用环境: 高德,百度定位很常用,但是在后来的版本上,定位的同时需要定位的权限,更甚者华为手机需要开启GPS才可以获取到定位的相关数据。 使用方法: 1 在动态申请GPS的时候,多申请两个权限:读取内存卡,写入内存卡 2 直接跳转设置界面确保GPS开关是否开启: isOpen : 判断是否开启GPS定位以及室内定位,当然,GPS是最主要的 ...
Android定位程序——WIFI定位,GPS定位
1、通过googlemap定位 //获取到LocationManager对象 LocationManager locationManager = (LocationManager) getSystemService(LOCATION_SERVICE); //如果没有开启位置源,转到‘设置’-‘位置和安全’里勾选使用无线网络,来激活NETWOR
Android 获取定位的一些问题
最近在用红米手机进开发桌面小窗口是碰到一直获取不到定位获取当前经纬度,找了问题,一直在报没有定位缓存,原因就是手机上没有以前定位的数据;先来看下代码:/** * GPS获取定位方式 */ public static Location getGPSLocation(@NonNull Context context) { Location location = null; Loca...
关于Android调用系统GPS模块时的minTime和minDistance参数解析
之前在开发Android程序调用GPS时,都是直接用函数 public void requestLocationUpdates (long minTime, float minDistance, Criteria criteria, PendingIntent intent) 但是最近客户说手机的GPS不够精确,所以特意从google developer官网了解了一下这个函数签名中的两个参
使用CLLocationManager简单定位
背景: ios开发免不了用到定位功能,Xcode已经给我们提供了这个框架,并且(好像?)只能用这个框架,因为苹果是不允许使用第三方定位的,最多就是封装了第三方定位,这里不必深究。简介: 本文介绍@property (nonatomic, strong) CLLocationManager *locationManager;//定位管理 @property (nonatomic,
Xamarin.Android平台功能——位置服务
返回索引目录 原文链接:Location Services. 译文链接:Xamarin.Android平台功能——位置服务 本部分介绍位置服务以及与如何使用位置提供商服务 Location Services 本教程将介绍如何在Android应用中定位,以及如何利用Android Location Service API来获取用户位置,同时还会通过Google Location Servi
android GPS定位(locationmanager,高德,百度)定位的比较
GPS轨迹定位有多种方式:1.调用sdk本身的locationManager
GPS定位详解——涉及GPS版本变化、定位获取失败等常见问题。
GPS详解 GPS本身并不复杂,但是因为GPS本身定位比网络还慢的原因用好GPS还是需要费点事的。 GPS详解 1. GPS相关类说明(android.location包) 1.1. 主要必须涉及到的类 1.2. API 23及以下版本 1.3. API 24及以上版本 1.4. 不需要用到的类 2. GPS相关基础知识说明 3. GPS定位相关方法(以API 23及以下版本为例) ...
Android LocationManager,报上你的经纬度!
默说:现在在 Android 开发的时候需要获取用户的地理位置已经愈发的简单,各种地图 SDK 都提供精准的定位方法。不过如果你的需求是只需模糊定位到用户的城市,那样的话,系统 API 完全能满足你的需求,这时候再去集成一个地图 SDK 就感觉过重了。网上使用系统 API 进行定位的文章都比较早了,而且 Android 6.0 版本加入了危险权限的动态验证,所以基本没有个工具类能直接拿来就用的,那
android位置服务与GPS实时定位工具类
介绍如何使用android开发一个位置服务程序,包括一些基本的概念、主要接口和对象、开发流程。 最后介绍采用java的接口编程和多态特性,定义一个可复用的工具类实现GPS动态定位。
iOS下CLLocationManager多次定位引起内存访问错误的问题解决
好几个月没写东西了,今天有空写点iOS的(我发现自己是非常不专注,安卓没搞好,又转而搞iOS了)。 我的程序中有一个获取用户当前位置地址的功能。我写了一个定位的辅助类LocationHelper,在这个类里调用CLLocationManager,接管didUpdateToLocation事件获取经纬度坐标,然后再向后台发送坐标请求返回地址。使用时,我在某ViewController里创建一个Lo
Android 自带LocationManager定位 + Google API基站定位 实现源码
使用Android自带的LocationManager实现获取当前地理位置(包括网络和GPS)。使用过的童靴都知道这个定位是有缺陷的,就是在某些机型(如android5.1.1)上回出现请求定位回调时间过长的问题。为了弥补这个缺陷,我又写了个单独使用google API的基站定位的方法,这样可以在LocationManager超时时利用google基站定位,效果也很不错。这里需要注意,用google的API需要自己申请开发者密钥(很简单,百度一下就会了),而且需要翻墙,这样基站定位在翻墙后定位到的是使用的代理的位置,而不是当前手机的地理位置。因为我们的项目是运行在海外,所以也就基本可以用了。这里供大家参考一下,欢迎指正。
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 通过制作网页我学习到了 我想通过网络学习java

相似问题

1
uiautomator 获取最新UI jar包
1
关于安卓app通过wifi显示小车摄像头的视频
1
用R爬虫需要登录的移动端数据,如何保持登录状态
2
如何在安卓端获取js传过来的对象类型参数
3
用android+服务器+mysql做android app的登录注册功能
5
android使用ffmpeg,通过图片和视频合成mp4
2
用eclipse创建Android项目出现launching helloworld has encoutered a problem.
2
android串口通讯,两个板子之间数据接收不到
1
android获取姿态角的过程,如何把现有位置校准为0?
6
我学习《第一行代码》中调用摄像头拍摄,照片显示在imageview。可以正常拍摄,但是不会显示在imageview里
2
拿到压缩帧数据的byte数组之后,如何通过手动生成MediaFormat的方式封装成MP4?
1
android 获取当前设置为主屏幕的软件
2
手动创建MediaFormat时,是否需要通过muxer的writeSampleData方法写入PPS和SPS?
1
Andorid 通过AlertDialog添加listview
3
安卓如何通过UDP接收一个excel表格文件,并根据其内容改变界面。
1
安卓图片处理-怎么样在大图中识别到小图位置?(图中搜图)
1
请教各位前辈一个问题,有一个需求当来电呼入的时候用物理按键接听或者挂断如何实现呢?
1
安卓workmanager的添加约束时,类型不一致,我不知道是哪里错了,或者应该怎么解决?
2
这段代码有没有问题 我现在的heart_rate值不正常了 一些无用代码省略了
0
如何用PC程序通过5.8Gwifi 控制多台运动带【5G的运动相机】同时启动工作?