Firebase身份验证注册后我无法启动活动

时间:2017-11-24 21:40:11

标签: android firebase android-intent firebase-authentication

我正在为我的课程订购一个订购应用程序。我正在使用firebase进行身份验证。登录屏幕是我的MainActivity。

在没有注册的注册屏幕上我可以返回到LoginScreen。但注册项目停止工作后,无法启动其他活动。我尝试getApplicationContext()ActivityName.this开始在注册前工作但在注册后无效的活动。虽然错误项目会注册用户。

这是我的LoginScreen(MainActivity): -

public class MainActivity extends AppCompatActivity {

Button btn_login;
EditText et_username,et_password;
FirebaseAuth firebaseAuth;
Intent intent;

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

    if(firebaseAuth.getCurrentUser()!=null)
    {
        intent=new Intent(getApplicationContext(),OrderScreen.class);
        startActivity(intent);
    }

    btn_login= (Button) findViewById(R.id.btn_login);
    Button btn_signup= (Button) findViewById(R.id.btn_signup);
    et_username= (EditText) findViewById(R.id.et_username);
    et_password= (EditText) findViewById(R.id.et_password);

    btn_signup.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

            intent= new Intent(getApplicationContext(), KayitOl.class);
            startActivity(intent);

        }
    });

    btn_login.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Login();
        }
    });

}

public void Login()
{
    String email,password;
    email=et_username.getText().toString().trim();
    password=et_password.getText().toString().trim();

    if(TextUtils.isEmpty(email) || TextUtils.isEmpty(password))
    {
        Toast.makeText(this,"E-mail ve Şifre Giriniz",Toast.LENGTH_SHORT).show();
    }
    else
    {
        firebaseAuth.signInWithEmailAndPassword(email,password).addOnCompleteListener(MainActivity.this, new OnCompleteListener<AuthResult>() {
            @Override
            public void onComplete(@NonNull Task<AuthResult> task) {

                if(task.isSuccessful())
                {
                    intent= new Intent(getApplicationContext(),OrderScreen.class);
                    startActivity(intent);
                }
            }
        });
    }

}`

这是我的RegisterScreen(KayitOl.java)

public class KayitOl extends AppCompatActivity{

Button btn_register;
EditText et_email,et_password;
TextView tv_login;
ProgressDialog pd;
FirebaseAuth firebaseAuth;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_kayit_ol);

    firebaseAuth= FirebaseAuth .getInstance();

    pd=new ProgressDialog(this);
    btn_register= (Button) findViewById(R.id.btn_register);
    et_email= (EditText) findViewById(R.id.et_email);
    et_password= (EditText) findViewById(R.id.et_password);
    tv_login= (TextView) findViewById(R.id.tv_login);

    btn_register.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Signup();
        }
    });

    tv_login.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent=new Intent(getApplicationContext(),MainActivity.class);
            startActivity(intent);
        }
    });

}

private void Signup()
{
    String email,password;
    email=et_email.getText().toString().trim();
    password=et_password.getText().toString().trim();

    if(TextUtils.isEmpty(email) || TextUtils.isEmpty(password))
    {
        Toast.makeText(this,"Lütfen Mail ve Şifre Giriniz",Toast.LENGTH_SHORT).show();
    }

    else
    {
        pd.setMessage("Kayıt Olunuyor");
        pd.show();
        firebaseAuth.createUserWithEmailAndPassword(email,password).addOnCompleteListener(KayitOl.this, new OnCompleteListener<AuthResult>() {
            @Override
            public void onComplete(@NonNull Task<AuthResult> task) {

                if(task.isSuccessful())
                {
                    pd.dismiss();
                    Toast.makeText(KayitOl.this,"Kayıt Olundu",Toast.LENGTH_SHORT).show();
                    et_email.setText("");
                    et_password.setText("");
                    Intent intent=new Intent(getApplicationContext(),MainActivity.class);
                    startActivity(intent);
                }
                else
                {
                    pd.dismiss();
                    Toast.makeText(KayitOl.this,"Kayıt Olunamadı",Toast.LENGTH_SHORT).show();
                }


            }
        });
    }
}

这是manifest.xml

<?xml version="1.0" encoding="utf-8"?>

<uses-permission android:name="android.permission.INTERNET" />

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity android:name=".MainActivity">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name=".KayitOl">
        <intent-filter>
            <action android:name="android.intent.action.VIEW"/>

            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>
    <activity android:name=".OrderScreen"></activity>
</application>

1 个答案:

答案 0 :(得分:0)

将onStart方法添加到您的登录活动中,根据Firebase文档:

eval = file.exists("/home/user001/connection.config")
相关问题