GeoPoint无法获取我的当前位置,并抛出java.lang.NullPointerException
我试图使用Geopoint访问设备位置,但不幸的是,我在一个空对象引用上抛出了一个错误,即“double android.location.location.getLatitude”,并且已经阅读了很多教程,但我仍然面临这个问题 这是我的密码 抛出的错误 进程:com.aquaapp.gesfasta,PID:23200 java.lang.NullPointerException:尝试对空对象引用调用虚拟方法“double android.location.location.getLatitude” 在com.aquaapp.gesfasta.MuuzaMainActivity$1.onCompleteMuuuzamainActivity.java:107 位于com.google.android.gms.tasks.zzj.run未知来源:4 位于android.os.Handler.handleCallbackHandler.java:873 在android.os.Handler.dispatchMessageHandler.java:99 在android.os.Looper.Looper.java:193 在android.app.ActivityThread.mainActivityThread.java:6803 在java.lang.reflect.Method.Invokenactive方法中 位于com.android.internal.os.RuntimeInit$MethodAndArgsCaller.RuntimeInit.java:497 位于com.android.internal.os.ZygoteInit.mainZygoteInit.java:930* getLastLocation可以根据可用性为您提供空值。在这种情况下,您需要调用RequestLocationUpdate并侦听任何新的位置更新 有关这方面的更多信息,请参阅此。GeoPoint无法获取我的当前位置,并抛出java.lang.NullPointerException,java,android,Java,Android,我试图使用Geopoint访问设备位置,但不幸的是,我在一个空对象引用上抛出了一个错误,即“double android.location.location.getLatitude”,并且已经阅读了很多教程,但我仍然面临这个问题 这是我的密码 抛出的错误 进程:com.aquaapp.gesfasta,PID:23200 java.lang.NullPointerException:尝试对空对象引用调用虚拟方法“double android.location.location.getLatitu
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 ());
}
}
});
}