我正在使用Google Play LocationClient。我已在onCreate()中初始化它,如文档中所述:
mLocationClient = new LocationClient(this, this, this);
我在onStart()
中进行连接mLocationClient.connect();
它在我的Android手机中运行良好,但在开发人员控制台中,我看到connect()
行发生了NullPointerException。
怎么会发生这种情况?
答案 0 :(得分:0)
这可能是因为导致NPE的设备没有Google Play服务或者没有更新日期。在onCreate中,您可以检查
int errorCode = GooglePlayServicesUtil.isGooglePlayServicesAvailable(this);
if (errorCode != ConnectionResult.SUCCESS)
{
if (DEBUG) {Log.d(TAG, "errorCode = " + errorCode);}
Dialog errorDialog = GooglePlayServicesUtil.getErrorDialog(errorCode, this,
1, new DialogCancelListener());
errorDialog.show();
}
将显示一个对话框,要求用户转到Google Store进行更新或安装 在onStart中,您需要检查null
if (mLocationClient != null)
{
mLocationClient.connect();
}