Witam serdecznie tworzę aplikację na Androida z Wykorzystaniem Firebase . Dokładnie logowanie za pomocą Googla
Myśłałem iż wszystko ładnie pójdzie ale niestety nie . ;(
Problem mam z GoogleApiClient jest ono przekreślone a podpowiedz mówi że zamienia/przstarzałe
Dodam iż posiadam dwa activity jedno do logowania drugie do pokazania danych konta i to własnie drugie nie działa
import com.google.android.gms.common.api.GoogleApiClient;
po implements mam przekreślone googleApiClient
public class MenuActivity extends AppCompatActivity implements GoogleApiClient.OnConnectionFailedListener {
Button logoutBtn;
TextView userName,userEmail,userId;
ImageView profileImage;
private GoogleApiClient googleApiClient;
private GoogleSignInOptions gso;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
logoutBtn=(Button)findViewById(R.id.button_wyl);
//userName=(TextView)findViewById(R.id.name);
//userEmail=(TextView)findViewById(R.id.email);
//userId=(TextView)findViewById(R.id.userId);
profileImage=(ImageView)findViewById(R.id.profileImage);
gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestEmail()
.build();
googleApiClient=new GoogleApiClient.Builder(this)
.enableAutoManage(this,this)
.addApi(Auth.GOOGLE_SIGN_IN_API,gso)
.build();
logoutBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Auth.GoogleSignInApi.signOut(googleApiClient).setResultCallback(
new ResultCallback<Status>() {
@Override
public void onResult(Status status) {
if (status.isSuccess()){
gotoMainActivity();
}else{
Toast.makeText(getApplicationContext(),"Session not close",Toast.LENGTH_LONG).show();
}
}
});
}
});
}
@Override
protected void onStart() {
super.onStart();
OptionalPendingResult<GoogleSignInResult> opr= Auth.GoogleSignInApi.silentSignIn(googleApiClient);
if(opr.isDone()){
GoogleSignInResult result=opr.get();
handleSignInResult(result);
}else{
opr.setResultCallback(new ResultCallback<GoogleSignInResult>() {
@Override
public void onResult(@NonNull GoogleSignInResult googleSignInResult) {
handleSignInResult(googleSignInResult);
}
});
}
}
private void handleSignInResult(GoogleSignInResult result){
if(result.isSuccess()){
GoogleSignInAccount account=result.getSignInAccount();
userName.setText(account.getDisplayName());
userEmail.setText(account.getEmail());
userId.setText(account.getId());
try{
Glide.with(this).load(account.getPhotoUrl()).into(profileImage);
Toast.makeText(this, "Image View", Toast.LENGTH_SHORT).show();
}catch (NullPointerException e){
Toast.makeText(getApplicationContext(),"image not found",Toast.LENGTH_LONG).show();
}
}else{
gotoMainActivity();
}
}
private void gotoMainActivity(){
Intent intent=new Intent(this,MainActivity.class);
startActivity(intent);
}
@Override
public void onConnectionFailed(@NonNull ConnectionResult connectionResult) {
}
}