Android Google Play位置客户端为空,但在onCreate()中初始化

时间:2013-08-16 17:55:31

标签: android android-maps-v2 google-play-services android-location

我正在使用Google Play LocationClient。我已在onCreate()中初始化它,如文档中所述:

mLocationClient = new LocationClient(this, this, this);

我在onStart()

中进行连接
mLocationClient.connect();

它在我的Android手机中运行良好,但在开发人员控制台中,我看到connect()行发生了NullPointerException。 怎么会发生这种情况?

1 个答案:

答案 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();
}