.getCurrentPerson(mGoogleApiClient)在GooglePlayServices 8.4中已弃用

时间:2016-01-22 19:15:30

标签: android google-api google-plus

我正在通过Udacity课程将Google登录整合到Android应用中。我们尝试通过onConnected()中的.getCurrentOerson()获取当前用户的详细信息,但不推荐使用.getCurrentOerson()。

 public class SignInAct extends Activity implements GoogleApiClient.ConnectionCallbacks, GoogleApiClient.OnConnectionFailedListener {
GoogleApiClient mGoogleApiClient;
Button signIn,signOut,revoke;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.signinlay);
    mGoogleApiClient = buildApiClient();
}
GoogleApiClient buildApiClient(){
    return new GoogleApiClient.Builder(this).
            addConnectionCallbacks(this).
            addOnConnectionFailedListener(this).
            addApi(Plus.API, Plus.PlusOptions.builder().build()).
            addScope(new Scope(Scopes.PROFILE)).build();
}

    @Override
public void onConnected(Bundle bundle) {
    signIn.setEnabled(false);
    signOut.setEnabled(true);
    revoke.setEnabled(true);

    Person currentUser = Plus.PeopleApi.getCurrentPerson(mGoogleApiClient);

}}

现在获取displayName的方法是什么? 感谢。

1 个答案:

答案 0 :(得分:2)

public abstract Person getCurrentPerson (GoogleApiClient googleApiClient) documentation:

  

不推荐使用此方法。

     

如果您仅使用People Api登录并获取身份,请改用GoogleSignInApi

From the GoogleSignInResult documentation:

  

public GoogleSignInAccount getSignInAccount()

     

如果登录成功完成,则返回反映用户登录信息的GoogleSignInAccount;失败时为null。

From the GoogleSignInAccount documentation:

  

public String getDisplayName()

     

如果您从新的GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)}或配置了requestProfile()构建配置,则返回已登录用户的显示名称;否则为null。即使配置,也不保证所有用户都能出现。