Android 如何获取当前位置纬度和经度

Android 如何获取当前位置纬度和经度,android,Android,我正试图使用下面的代码获取当前位置纬度和经度,但它强制关闭并显示在日志cat“空指针异常”“因此请检查我的错误位置。我的cod低于…我认为如果空指针异常真的发生在if()块中,在getLatitude()call,这意味着对刚刚测试的位置对象的引用不再有效 因此,在使用location对象之前,我会尝试复制它,如下所示: public void onLocationChanged(Location location) { Location copyOfLoc

我正试图使用下面的代码获取当前位置纬度和经度,但它强制关闭并显示在日志cat“
空指针异常”
“因此请检查我的错误位置。我的cod低于…

我认为如果空指针异常真的发生在
if()
块中,在
getLatitude()
call,这意味着对刚刚测试的位置对象的引用不再有效

因此,在使用location对象之前,我会尝试复制它,如下所示:

       public void onLocationChanged(Location location) {
            Location copyOfLocation = new Location(location);
            updateWithNewLocation(copyOfLocation );
        }
还没有测试过这个,我不记得以前见过这个问题

--编辑--

等等,自上次编辑后,异常已移动。。。你的位置是空的,可能是因为系统没有以前的位置给你。尝试使用手机外出,打开GPS电源,启动谷歌地图,直到通知栏中的GPS图标不再闪烁,退出地图,返回室内,再次尝试应用程序

--编辑2--

工作有两个条件:

  • 位置提供商必须通电(必须使用Android首选项面板打开GPS)
  • 系统必须在过去的某个时候计算出所需提供者的位置

否则它将返回null

在哪一行发生异常?@stephen,Mathew为什么这个链接代码不起作用???同样的问题和john nick提供的解决方案也不起作用?为什么?任何人都可以向我提供这个qus的运行代码..意味着获取当前位置lat和lond,并在位置更改时更改lat long可以在模拟器上获取当前位置纬度和经度???如果是,那么什么emulator中需要设置???请检查以下内容: