2014-09-26 69 views
20

Erimiş yer güncellemeleri istemek için bir hizmette GoogleApiClient kullanıyorum. Her şey düzgün çalışıyor, ancak bazen bağlantı askıya alındı ​​ve OnConnectionSuspended çağrıldı. (ConnectionCallback doc) Yukarıdaki linkte GoogleApiClient onConnectionSuspended i() tekrar mGoogleApiClient.connect demeliyim?

@Override 
public void onCreate() { 
    ... 
    mGoogleApiClient = new GoogleApiClient.Builder(this) // this is a Context 
    .addApi(LocationServices.API) 
    .addConnectionCallbacks(this) // this is a [GoogleApiClient.ConnectionCallbacks][1] 
    .addOnConnectionFailedListener(this) // 
    .build(); 

    mGoogleApiClient.connect(); 

    ... 
} 

@Override 
public void onConnectionSuspended(int arg0) { 

    // what should i do here ? should i call mGoogleApiClient.connect() again ? ? 

} 

diyor:

Uygulamalar servis gerektiren UI bileşenlerini devre dışı bırakabilir ve bunları yeniden etkinleştirmek için onConnected (Demet) yapılan bir çağrı için beklemek gerekir.

Ama onConnected için bu çağrı ne olacak nasıl? mGoogleApiClient.connect() işlevini tekrar çağırmalı mıyım? veya mGoogleApiClient, bağlantı askıya alındıktan sonra bile bağlanmaya çalışmaya devam edecek mi?

cevap

34

GoogleApiClient otomatik olarak yeniden deneyecektir. connect()'u tekrar aramanıza gerek yoktur.

+0

Merhaba Hounshell, cevabınız için teşekkürler, ama bundan nasıl emin olabilirsiniz? öyle bir doktor var mı? – Turkish

+23

GoogleApiClient'in orijinal yazarıyım. Bunu açıklayan bir sonraki sürüm için bir doküman eklemeyi deneyeceğim. – Hounshell

+0

@Hounshell Teşekkürler. Ve Google'dan çıkış yapma süreci sıkıcı bir şekilde zahmetli. Bunu da belgeleyebilir misin lütfen? StackOverflow ile ilgili onlarca soru var. Dokümantasyon çok dar ve yanıltıcıdır (Facebook'unkiyle karşılaştırıldığında). – VipulKumar

0

The onConnected() doc follwing diyor ki: bağlantı isteği başarıyla tamamlandığında

() bağlamak çağırdıktan sonra bu yöntemi senkronize çağrılır.

Bu

Eğer connect() aksi onConnected() denilen olmayacak aramak zorunda anlamına gelir.

+0

Biz GoogleApiClient oluşturduktan sonra bağlanmak aramak zorunda olduğu doğrudur. Ancak, @hounshell cevabına dayanarak, otomatik olarak çağrılacağından tekrar bağlantı kurmak zorunda değiliz. –