Это похоже на простую вещь, которая понадобилась бы большинству людей, если бы они хотели использовать Google Plus в своем приложении: s.
В действии 1:
Я подписываю пользователя.
После входа в систему я хочу сделать этот объект пользователя глобально доступным, поэтому я добавляю его в объект Application:
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);
Однако, когда я пытаюсь получить к нему доступ в Мероприятии 2:
GlobalUserAccess client = ((GlobalUserAccess) getApplicationContext());
String currentUser = Plus.AccountApi.getAccountName(client.getClient());
Я получаю сообщение об ошибке:
E/GMPM: getGoogleAppId failed with status: 10
Может кто-то, пожалуйста, наполните меня подходящим способом для этого? Я хотел бы, чтобы этот пользовательский объект был доступен для всех классов, и я потратил слишком много времени на это: |.
Я что-то испортил? Ах...
EDIT: код создания клиента из Activity 1
mGoogleApiClient = new GoogleApiClient.Builder(this)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.addApi(Plus.API)
.addScope(new Scope(Scopes.PROFILE))
.addScope(new Scope(Scopes.EMAIL))
.build();
Я использую код Googles непосредственно из своего репозитория Git. Он успешно подписывает и получает информацию об учетной записи в действии 1.