当前位置: 首页 > 知识库问答 >
问题:

getLastLocation返回空对象引用错误

段干昊然
2023-03-14

嘿,伙计们,我返回当前(最后已知)位置的方法正在扼杀我的应用程序。我的错误日志没有显示出来,所以我唯一能想到的是permissions/Location类有问题。如果可以的话,我把它设置成拉我的位置,否则返回一个预存的位置。请帮帮忙!这是我的代码

public LatLng getLocation(GoogleApiClient client) {

    if(client == null){
        Log.d(null, "error:null client");
    }else{
        if( ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) == PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) == PackageManager.PERMISSION_GRANTED) {
            Location mLastLocation = FusedLocationApi.getLastLocation(client);
            return new LatLng(mLastLocation.getLongitude(), mLastLocation.getLatitude());
        }else{
            Log.d(null, "error:permission fail");
        }
    }
return harrys;
}

这是我的错误堆栈

java.lang.NullPointerException:尝试对com . example . Kevin . memories . maps activity . get location(maps activity . Java:251)处的空对象引用调用虚方法“double Android . location . location . location . get longitude()”com . example . Kevin . memories . maps activity . on mapready(maps activity . Java:93)处com . Google . Android . GMS . maps . supportmapfragment$zza$1 . zza(未知来源)处com . Google . Android . GMS . maps . internal . zzo$的

共有2个答案

姜良哲
2023-03-14

确保仅在GoogleApiClient获得Connected后调用getLastLocation(client).您可以使用client.isConnected()方法进行检查,也可以从onConnected方法调用它。

徐星阑
2023-03-14

对象引用意味着您引用的对象尚不存在。因此,这可能意味着您对该对象的调用在对象初始化之前首先出现。尝试记录您的getLastLocation,如果它确实能够获取某些内容。

此外,请检查此SO线程以获得其他答案。

 类似资料:
  • 问题内容: 我不知道我的代码有什么问题 这是我的片段课 这是我的SessionManager.java 运行项目时出现的错误: java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“ void com.example.gandi.symanlub.SessionManager.logoutUser()” 问题答案: 您收到错误消息是因为在此行您正在调用: 会

  • 我开始进入WP开发,我有问题与ACF后对象返回空,我不知道为什么。我创建了一个ACF,分类法的位置等于类别然后字段设置为... 字段名称:推荐的\u资源 然后在岗位上 我得到了无效的任何帮助或指向正确的方向都是非常感谢的。

  • 我试图使用函数中的返回类型来返回对象或字符串。如果它是一个对象,我想开始从这个对象调用方法。如果它是一个字符串,我想在其他地方调用一些其他函数。我一直挂断电话,因为返回的对象不是我要返回的对象,它是“left”类型,我似乎无法将该对象从“left”类型恢复到我想要的“Player”类型。这包含在扩展可变队列的对象中。下面是我的函数,它根据ActionQueue对象中的键在地图中查找Player对象

  • 以下模式在可选对象中包含非空字段(整个对象允许为空)。它定义了一个父对象的列表,这些父对象具有可选字段“孩子”——一些父对象允许具有空“孩子”。 以下GraphQL查询返回预期的父对象列表(其中一些具有null子值)。但它也返回附加到结果的错误。这是GraphQL(孩子是可选的)中的错误吗?还是预期行为?

  • 当在testng单元testcase中运行时,JAXB将XML文件解组到对象中工作正常。 当相同的代码被用来在另一个进程中解封相同的XML文件时,我得到了一个空对象。我可以验证对象是为XML文档中的每个元素创建的,并且所有适配器都被调用。在unmarshaller中设置事件处理程序,但没有验证问题。当我设置xmlns属性和前缀时,即使返回空对象,行为也略有不同。 我看了好几篇文章,但都无法与我面临

  • 问题内容: 我有一个文件夹,其中包含index.js和几个模型(类)index.js book.js author.js 问题在于Author类似乎找不到书!它只是一个空对象。但是,如果我在index.js中切换导出,则将Book放在Author之后- 可以,但是其他模型将停止工作。 我不想做任何骇客工作。 问题答案: 这是因为您具有循环依赖关系。Node.js以非常特定的方式处理此问题: 第一个

  • 我正在编写一个自定义配置单元UDF来根据属性文件中定义的值解析映射中的键/值对。正在验证的格式(map ,String)。目的是让第一个参数是要计算的映射,第二个参数包含属性文件。 我遇到的问题是,GenericUDF类似乎希望这两个值对查询都是动态的,因为initialize()函数将参数转换为ObjectInspectors,从外观上看,这没有可能的选项来返回它们所检查的对象。 我希望init

  • 我们有一个方法,其中我们收到一个