gpt4 book ai didi

java - GeoPoint 无法获取我当前的位置并抛出 java.lang.NullPointerException

转载 作者:行者123 更新时间:2023-12-02 09:07:26 25 4
gpt4 key购买 nike

我尝试使用 Geopoint 访问设备位置,但不幸的是,我在空对象引用上抛出了一个错误:double android.location.Location.getLatitude()',并且已经阅读了大量教程,但我仍然面临这个问题

这是我的代码

private void getLastKnownLocation() {

if ( ActivityCompat.checkSelfPermission (this, Manifest.permission.ACCESS_FINE_LOCATION)
!= PackageManager.PERMISSION_GRANTED
&& ActivityCompat.checkSelfPermission (this, Manifest.permission.ACCESS_COARSE_LOCATION)
!= PackageManager.PERMISSION_GRANTED ) {
return;
}

mFusedLocationClient.getLastLocation ().addOnCompleteListener (new OnCompleteListener<Location> () {
@Override
public void onComplete(@NonNull Task<Location> task) {

if ( task.isSuccessful () ) {
Location location = task.getResult ();
GeoPoint geoPoint = new GeoPoint (location.getLatitude (),location.getLongitude ());
Log.d (TAG, "onComplete: latitude"+ geoPoint.getLatitude ());
Log.d (TAG, "onComplete: latitude"+ geoPoint.getLongitude ());

}

}
});

}

抛出的错误

  • 进程:com.aquaapp.gesfasta,PID:23200java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“double android.location.Location.getLatitude()” 在 com.aquaapp.gesfasta.MuuzaMainActivity$1.onComplete(MuuzaMainActivity.java:107) 在 com.google.android.gms.tasks.zzj.run(来源未知:4) 在 android.os.Handler.handleCallback(Handler.java:873) 在 android.os.Handler.dispatchMessage(Handler.java:99) 在 android.os.Looper.loop(Looper.java:193) 在 android.app.ActivityThread.main(ActivityThread.java:6803) 在 java.lang.reflect.Method.invoke( native 方法) 在 com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:497) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)*

最佳答案

getLastLocation() 可以根据可用性为您提供 null 值。在这种情况下,您需要调用 requestLocationUpdates 并监听任何新的位置更新。

关于java - GeoPoint 无法获取我当前的位置并抛出 java.lang.NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59701862/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com