0

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

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

我正在 onStart() 中进行连接

mLocationClient.connect();

它在我的 Android 手机上运行良好,但在开发者控制台中我看到 NullPointerException 正在发生connect()。这怎么可能发生?

4

1 回答 1

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 商店进行更新或安装。
在 onStart 中,您需要检查 null

if (mLocationClient != null)
{
    mLocationClient.connect();
}
于 2013-08-16T18:51:56.003 回答