【问题标题】:Android - GoogleApiClient - Not connecting on the load of fragmentAndroid - GoogleApiClient - 不连接片段的负载
【发布时间】:2018-04-26 14:49:11
【问题描述】:

在片段onCreateview 中,连接GoogleAPIClient,但它不会触发onConnected 调用,但如果我转到另一个片段并返回,它会触发。

找不到原因?当我被卡住时,任何帮助将不胜感激?

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {   
    mGoogleApiClient = new GoogleApiClient.Builder(getActivity())
                    .enableAutoManage(getActivity(), GOOGLE_API_CLIENT_ID, this)
                    .addConnectionCallbacks(this)
                    .addApi(LocationServices.API)
                    .addApi(Places.GEO_DATA_API)
                    .addApi(Places.PLACE_DETECTION_API)
                    .build(); 
    mGoogleApiClient.connect();
}

@Override
public void onConnected(Bundle bundle) {
    mPlaceArrayAdapter.setGoogleApiClient(mGoogleApiClient);
    Log.i(LOG_TAG, "Google Places API connected.");
 }

【问题讨论】:

    标签: android android-fragments google-play-services


    【解决方案1】:

    void onCreate (Bundle savedInstanceState) 调用初始化 创建一个片段。

    你应该添加这个onCreate部分

    @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
    
           mGoogleApiClient = new GoogleApiClient.Builder(getActivity())
                        .enableAutoManage(getActivity(), GOOGLE_API_CLIENT_ID, this)
                        .addConnectionCallbacks(this)
                        .addApi(LocationServices.API)
                        .addApi(Places.GEO_DATA_API)
                        .addApi(Places.PLACE_DETECTION_API)
                        .build(); 
    
            Log.d(TAG, "onCreate");
        }
    

    然后

    @Override
        public void onResume() {
            super.onResume();
            mGoogleApiClient .connect();
            Log.d(TAG, "onResume");
        }
    

    这将是检查 onPause() 状态的好方法。

    @Override
        public void onPause() {
            super.onPause();
            if (mGoogleApiClient.isConnected())
                mGoogleApiClient.disconnect();
                Log.d(TAG, "onPause");
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-12
      • 2019-04-08
      • 1970-01-01
      • 2021-02-16
      相关资源
      最近更新 更多