如何为 Dagger2 提供 GoogleApiClient 依赖项?

How do you provide a GoogleApiClient dependency with Dagger2?

我已经开始使用 Dagger2 来管理依赖项,并且我正在尝试了解如何使用 DI 来提供单例 GoogleApiClient。这样做的动机是:

我想在应用程序范围内提供单例 GoogleApiClient。

你如何处理回调?无论你选择auto-managed or manually-managed connection,有一些回调必须处理:

您可以使用注入创建客户端

 @Provides
    @Singleton
    GoogleApiClient providesGoogleApiClient(Context context) {
            return new GoogleApiClient.Builder(context)
                    .addApi(Places.GEO_DATA_API)
                    .addApi(LocationServices.API)
                    .build();
        }

然后管理 activity

上的回电
@Inject GoogleApiClient mGoogleApiClient;



if (mGoogleApiClient != null) {  mGoogleApiClient.registerConnectionCallbacks(this);            mGoogleApiClient.registerConnectionFailedListener`(this);
}

希望对您有所帮助。