在Fragment中构建Google api客户端

问题描述 投票:1回答:2

我在片段中构建谷歌api客户端时收到错误。我得到的错误是;

   java.lang.ClassCastException: net.janusjanus.we4x4_v1.upload cannot be cast to com.google.android.gms.common.api.GoogleApiClient$OnConnectionFailedListener

我已经实施了GoogleApiClient.ConnectionCallbacksGoogleApiClient.OnConnectionFailedListenerLocationListener

并要求构建如下;

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

首先我在声明新的GoogleApiClient.Builder时遇到了问题,我将其声明为;

          mGoogleApiClient = new GoogleApiClient.Builder(this)

强调为错误,因此我必须尝试使用​​getActivity()getContext()声明它的几种方法。但是我得到了同样的错误?

关于我在这里做错了什么以及正确的方法吗?

android-studio google-api-client
2个回答
1
投票

好吧,在我的情况下,我必须声明GoogleApiClient.Builder如下;

 mGoogleApiClient = new GoogleApiClient.Builder(UploadPictures.this.getContext())

其中UploadPictures是片段名称。

希望这可能对某人有所帮助。


0
投票

实现GoogleApiClient.ConnectionCallbacks,GoogleApiClient.OnConnectionFailedListener和LocationListener

        @Override
        public void onConnectionFailed(ConnectionResult result) {
        }

        @Override
        public void onConnected(Bundle arg0) {
        }

        @Override
        public void onConnectionSuspended(int arg0) {
        }

        @Override
        public void onLocationChanged(Location location) {
        }

然后将代码更改为:

mGoogleApiClient = new GoogleApiClient.Builder(getActivity())
            .addConnectionCallbacks(this)
            .addOnConnectionFailedListener(this)
            .addApi(LocationServices.API)
            .build();
© www.soinside.com 2019 - 2024. All rights reserved.