GoogleApiClient可以在片段中使用,还是必须始终在活动中使用?

时间:2015-04-19 07:44:38

标签: android

GoogleApiClient可以在片段中使用,还是必须始终用于活动

mGoogleApiClient = new GoogleApiClient.Builder(this)
                .addConnectionCallbacks(this)
                .addOnConnectionFailedListener(this)
                .addApi(LocationServices.API)
                .build();

2 个答案:

答案 0 :(得分:10)

GoogleApiClient可以在ActivityFragmentService中使用。它需要Context,您可以通过getApplicationContext()getActivity()等来获取它。您的Fragment/Activity必须实现这两个界面:

implements
ConnectionCallbacks, OnConnectionFailedListener

然后你会发现这些方法:

@Override
public void onConnected(Bundle bundle) { 

}

@Override
public void onConnectionSuspended(int i) {

}

@Override
public void onConnectionFailed(ConnectionResult connectionResult) {

}

您必须使用此mGoogleApiClient.connect();连接此API客户端,并通过mGoogleApiClient.disconnect()

断开连接

Here是有关访问Google API的文档。 Here是描述。 this thread有我的演示工作代码。

答案 1 :(得分:5)

是的,您可以在片段中使用它。您只需向构建器提供一个Context(您可以使用getActivity())并让Fragment实现所需的接口。

new GoogleApiClient.Builder(getActivity())
...