现在我有一个奇怪的问题。 我FusedLocationApi code.check it.I'm只提及相关代码:LocationServices.FusedLocationApi.getLastLocation(mGoogleApiClient)不工作第二次
public class MainActivity extends AppCompatActivity implements GoogleApiClient.ConnectionCallbacks, GoogleApiClient.OnConnectionFailedListener{
GoogleApiClient mGoogleApiClient;
Location mLastLocation;
@Override
protected void onStart() {
mGoogleApiClient.connect();
super.onStart();
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (mGoogleApiClient == null) {
mGoogleApiClient = new GoogleApiClient.Builder(this)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.addApi(LocationServices.API)
.build();
}
mLastLocation = LocationServices.FusedLocationApi.getLastLocation(mGoogleApiClient);
double latitude = mLastLocation.getLatitude();
double longitude = mLastLocation.getLongitude();
}
@Override
protected void onStop() {
mGoogleApiClient.disconnect();
super.onStop();
}
}
现在的问题是,这种代码是针对这个activity.But正常使用时,我正在写其他活动相同的代码mLastLocation
返回null,我得到一个java.lang.NullPointerException异常。
该类别的唯一区别在于,我正在执行OnMapReadyCallback
也。它有什么区别?
我已阅读关于此主题的所有Q & A,但没有得到任何帮助。 我身边的错误是什么?
你应该做的里面的onCreate通话()方法 – Hareesh
显然我在onCreate()中调用。我只是没有提到。无论如何,再次检查。我编辑了 –
http://stackoverflow.com/questions/29441384/fusedlocationapi-getlastlocation-always-null – siva35