无法使用 Firebase 在 Android 上正确退出 Facebook

尤努斯司库

我尝试登录 Facebook,它工作正常。但是当我退出时,Facebook 的“退出”按钮仍然显示在我的登录活动中,当我点击它时,我可以退出。但我不想那样做。

但真正的问题是,我如何正确退出 Facebook?我同时使用 Firebase 身份验证和 Facebook 身份验证(支持 Firebase)

Giris.java(登录)

public class Giris extends AppCompatActivity implements View.OnClickListener {

private FancyButton buttonSignIn;
private EditText editTextEmail;
private EditText editTextPassword;
private TextView textViewSignup, textViewSifreUnuttum, girismesaji;
public boolean cancel = false;
public boolean isFirstStart;
private FirebaseAuth firebaseAuth;
private FirebaseAuth.AuthStateListener mAuthListener;
private Dialog progressDialog;
private CallbackManager mCallbackManager;
private static final String TAG = "FacebookLogin";


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_giris);
    FacebookSdk.sdkInitialize(getApplicationContext());
    firebaseAuth = FirebaseAuth.getInstance();

    mAuthListener = new FirebaseAuth.AuthStateListener() {
        @Override
        public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
            FirebaseUser user = firebaseAuth.getCurrentUser();
            if (user != null) {
                // Kullanıcı oturumu açtı
                finish();
                startActivity(new Intent(getApplicationContext(), MainActivity.class));
                Log.d("onCreate", "onAuthStateChanged:signed_in:" + user.getUid());
            } else {
                // Kullanıcı oturumu kapattı.
                Log.d("onCreate", "onAuthStateChanged:signed_out");
            }

        }
    };
    firebaseAuth.addAuthStateListener(mAuthListener);
    mCallbackManager = CallbackManager.Factory.create();
    LoginButton loginButton = (LoginButton) findViewById(R.id.login_button);
    loginButton.setReadPermissions("email", "public_profile");
    loginButton.registerCallback(mCallbackManager, new FacebookCallback<LoginResult>() {
        @Override
        public void onSuccess(LoginResult loginResult) {
            Log.d(TAG, "facebook:onSuccess:" + loginResult);
            handleFacebookAccessToken(loginResult.getAccessToken());
        }

        @Override
        public void onCancel() {
            Log.d(TAG, "facebook:onCancel");
        }

        @Override
        public void onError(FacebookException error) {
            Log.d(TAG, "facebook:onError", error);

        }
    });
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent 
data)
{
    super.onActivityResult(requestCode, resultCode, data);
    mCallbackManager.onActivityResult(requestCode, resultCode, data);
}

private void handleFacebookAccessToken(AccessToken token) {
    Log.d(TAG, "handleFacebookAccessToken:" + token);
        AuthCredential credential = 
        FacebookAuthProvider.getCredential(token.getToken());
        progressDialog.show();
        firebaseAuth.signInWithCredential(credential)
                .addOnCompleteListener(this, new 
                  OnCompleteListener<AuthResult>() {
                    @Override
                    public void onComplete(@NonNull Task<AuthResult> task)
                    {
                        Log.d(TAG, "signInWithCredential:onComplete:" + 
                        task.isSuccessful());

                        if(task.isSuccessful())
                        {
                            finish();
                            Intent fGiris=new Intent(Giris.this, 
                            MainActivity.class);
                            fGiris.putExtra("giris","facebook");
                            startActivity(fGiris);

                        }
                        else
                        {
                            Log.w(TAG, "signInWithCredential", task.getException());
                            Toast.makeText(Giris.this, "Facebook ile bağlantı başarız oldu.",
                                    Toast.LENGTH_SHORT).show();

                        }
                        progressDialog.dismiss();
                    }

                });
    }
    else
    {
        Intent hata = new Intent(Giris.this, InternetCon.class);
        startActivity(hata);
    }

MainActivity.java(注销)

public class MainActivity extends AppCompatActivity
    implements NavigationView.OnNavigationItemSelectedListener{

private Fragment fragment;
private FragmentManager fragmentManager;
public TextView tarih;
final String PREFS_NAME = "MyPrefsFile";
final String SHAREDPREF_DATE = "SharedPrefDate";
private FirebaseAuth firebaseAuth;
private FirebaseUser user;
private TextView textViewUserEmail;
public CircleImageView userImage;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    firebaseAuth = FirebaseAuth.getInstance();
    if(firebaseAuth.getCurrentUser()==null)
    {
        finish();
        startActivity(new Intent(this,Giris.class));

    }



    DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
    final ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
            this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
    drawer.setDrawerListener(toggle);
    toggle.syncState();
    NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
    navigationView.setNavigationItemSelectedListener(this);
    View headerView = navigationView.getHeaderView(0); //giriste gelen maili Navigation header'a at
    textViewUserEmail= (TextView) headerView.findViewById(R.id.textKullaniciBilgisi);
    textViewUserEmail.setText(firebaseAuth.getCurrentUser().getEmail());
    userImage= (CircleImageView) findViewById(R.id.kullaniciNavHesapResmi);
    fragmentManager = getSupportFragmentManager();
    fragment = new AraclarimFragment();
    final FragmentTransaction transaction = fragmentManager.beginTransaction();
    transaction.add(R.id.main_container, fragment).commit();


@SuppressWarnings("StatementWithEmptyBody")
@Override
public boolean onNavigationItemSelected(MenuItem item) {
    // Navigation itemlerinin click olaylarını burada yapıyoruz.
    int id = item.getItemId();

    if (id == R.id.nav_cikis)
    {

        Intent gelen=getIntent();
        String loginType=gelen.getStringExtra("giris");
        if(loginType=="facebook")
        {
            finish();
            firebaseAuth.signOut();
            LoginManager.getInstance().logOut();
            startActivity(new Intent(MainActivity.this, Giris.class));
        }
        else
        {
            finish();
            FirebaseAuth.getInstance().signOut();
            startActivity(new Intent(MainActivity.this, Giris.class));
        }
    }

        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
        drawer.closeDrawer(GravityCompat.START);
        return true;

}
乌塞玛·阿鲁阿
if (id == R.id.nav_cikis)
    {

        Intent gelen=getIntent();
        String loginType=gelen.getStringExtra("giris");
        if(loginType=="facebook")
        {
            FirebaseAuth.getInstance().signOut();
            LoginManager.getInstance().logOut();
            startActivity(new Intent(MainActivity.this, Giris.class));
            finish();
        }
        else{
            FirebaseAuth.getInstance().signOut();
            LoginManager.getInstance().logOut();
            startActivity(new Intent(MainActivity.this, Giris.class));
            finish();// must be the last line
        }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Android:使用 Firebase 的 Facebook 身份验证无法启动

来自分类Dev

无法使用Android版Facebook SDK在Facebook上发布

来自分类Dev

无法使用Android版Facebook SDK在Facebook上发布

来自分类Dev

无法使用Firebase Facebook登录

来自分类Dev

退出Android后无法登录Facebook登录

来自分类Dev

尝试使用 Facebook 在 Firebase 上注册(从网页)

来自分类Dev

使用 Firebase 和 Android 更改 Facebook 帐户/完全注销

来自分类Dev

使用Facebook时Firebase无法登录,在Google上可以正常运行

来自分类Dev

Facebook无法在Android设备上登录,但可以在Android Studio模拟器中使用

来自分类Dev

如何使用Android版Facebook SDK在Facebook上共享图像?

来自分类Dev

使用Android在Facebook Wall上发布

来自分类Dev

从我的应用共享时,Android上的Facebook立即退出

来自分类Dev

Android Firebase-无法从Firebase快照接收正确的JSON

来自分类Dev

android-Webview无法正确显示Facebook URL的内容

来自分类Dev

使用Ionic登录Firebase Facebook

来自分类Dev

Facebook应用程序请求无法在Android上运行

来自分类Dev

Facebook“ apprequests”过滤器无法在android上运行

来自分类Dev

Android清单与Facebook和Firebase库合并

来自分类Dev

无法在iOS上使用Facebook登录

来自分类Dev

无法使用Firebase进行googleSignIn-Android

来自分类Dev

当我使用Firebase Unity插件在android中实现FaceBook Auth函数时,它崩溃了

来自分类Dev

无法下载Android Facebook SDK

来自分类Dev

无法在Facebook上分享

来自分类Dev

使用Facebook在Android App上注册新用户

来自分类Dev

密钥哈希在Android上使用Facebook API的目的是什么?

来自分类Dev

无法使用Android SDK 3连接到Facebook

来自分类Dev

无法使用Android检索用户Facebook个人资料

来自分类Dev

无法正确使用android:weightSum

来自分类Dev

Android上的Facebook GameRequest跟踪

Related 相关文章

  1. 1

    Android:使用 Firebase 的 Facebook 身份验证无法启动

  2. 2

    无法使用Android版Facebook SDK在Facebook上发布

  3. 3

    无法使用Android版Facebook SDK在Facebook上发布

  4. 4

    无法使用Firebase Facebook登录

  5. 5

    退出Android后无法登录Facebook登录

  6. 6

    尝试使用 Facebook 在 Firebase 上注册(从网页)

  7. 7

    使用 Firebase 和 Android 更改 Facebook 帐户/完全注销

  8. 8

    使用Facebook时Firebase无法登录,在Google上可以正常运行

  9. 9

    Facebook无法在Android设备上登录,但可以在Android Studio模拟器中使用

  10. 10

    如何使用Android版Facebook SDK在Facebook上共享图像?

  11. 11

    使用Android在Facebook Wall上发布

  12. 12

    从我的应用共享时,Android上的Facebook立即退出

  13. 13

    Android Firebase-无法从Firebase快照接收正确的JSON

  14. 14

    android-Webview无法正确显示Facebook URL的内容

  15. 15

    使用Ionic登录Firebase Facebook

  16. 16

    Facebook应用程序请求无法在Android上运行

  17. 17

    Facebook“ apprequests”过滤器无法在android上运行

  18. 18

    Android清单与Facebook和Firebase库合并

  19. 19

    无法在iOS上使用Facebook登录

  20. 20

    无法使用Firebase进行googleSignIn-Android

  21. 21

    当我使用Firebase Unity插件在android中实现FaceBook Auth函数时,它崩溃了

  22. 22

    无法下载Android Facebook SDK

  23. 23

    无法在Facebook上分享

  24. 24

    使用Facebook在Android App上注册新用户

  25. 25

    密钥哈希在Android上使用Facebook API的目的是什么?

  26. 26

    无法使用Android SDK 3连接到Facebook

  27. 27

    无法使用Android检索用户Facebook个人资料

  28. 28

    无法正确使用android:weightSum

  29. 29

    Android上的Facebook GameRequest跟踪

热门标签

归档