Bu, kullanıcıların Google Plus uygulamasını kullanmak istedikleri takdirde uygulamalarının çoğuna ihtiyaç duyabilecekleri basit bir şey gibi görünüyor: s.Tüm Etkinlikler İçinde GoogleApiClient nesnesine erişme
Faaliyet 1'de. Ben kullanıcıyı oturum
O kullanıcı nesnesi global olarak erişilebilir hale getirmek isteriz, oturum açma sonra
, bu yüzden Uygulama nesnesine ekleyin:
public class GlobalUserAccess extends Application {
private GoogleApiClient mGoogleApiClient;
public GlobalUserAccess(){
mGoogleApiClient = null;
}
public void setClient(GoogleApiClient client){
mGoogleApiClient = client;
}
public GoogleApiClient getClient(){
return mGoogleApiClient;
}
}
GlobalUserAccess client = ((GlobalUserAccess) getApplicationContext());
client.setClient(mGoogleApiClient);
Ancak, ben bunu erişmeye çalıştığınızda: öylesine gibi bağlayıcı olarak
Faaliyet 2'de: Bunu gerçekleştirmek için
E/GMPM: getGoogleAppId failed with status: 10
birisi doğru yolda beni doldurunuz Can:
GlobalUserAccess client = ((GlobalUserAccess) getApplicationContext());
String currentUser = Plus.AccountApi.getAccountName(client.getClient());
hatası alıyorum? Bu kullanıcı nesnesinin tüm sınıflara açık olmasını isterdim ve bu konuda çok fazla zaman geçirdim: |.
Bir yerlere mi bulaştım? Ah ...
DÜZENLEME: Faaliyet 1 istemci oluşturma kodu onların Git deposundan doğrudan Googleın kodunu kullanıyorum
mGoogleApiClient = new GoogleApiClient.Builder(this)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.addApi(Plus.API)
.addScope(new Scope(Scopes.PROFILE))
.addScope(new Scope(Scopes.EMAIL))
.build();
.
GlobalUserAccess client = ((GlobalUserAccess) getApplication());
Sonra GoogleApiClient
nesne setClient
yöntemi kullanarak ayarlayın: Eğer aşağıda yapmalıyım Uygulama nesnesini almaya çalışırken başarıyla oturum açan ve etkinlik 1'de Faaliyet 1.
gibi alabilirsiniz zaman alabilir. – Sabeeh
Bitti! Gönderiyi düzenledim. – Kris