Java 为什么我的android studio应用程序在运行时会跳过登录和注册页面?
我正在开发一个android应用程序,但当我运行该应用程序时,它会跳过注册和登录页面,直接进入主页。我使用firebase进行身份验证,但我找不到问题 我已尝试删除此代码:Java 为什么我的android studio应用程序在运行时会跳过登录和注册页面?,java,android,firebase,firebase-authentication,Java,Android,Firebase,Firebase Authentication,我正在开发一个android应用程序,但当我运行该应用程序时,它会跳过注册和登录页面,直接进入主页。我使用firebase进行身份验证,但我找不到问题 我已尝试删除此代码: Intent intent = new Intent(RegistrationActivity.this, MainActivity.class); startActivity(intent); finish();
Intent intent = new Intent(RegistrationActivity.this, MainActivity.class);
startActivity(intent);
finish();
return;
从
注册活动将打开,但当我尝试注册时,它不会注册我
这是RegistrationActivity.java
package com.simoder.tinder;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RelativeLayout;
import android.widget.Toast;
import com.google.android.gms.tasks.OnCompleteListener;
import com.google.android.gms.tasks.Task;
import com.google.firebase.auth.AuthResult;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.auth.FirebaseUser;
public class RegistrationActivity extends AppCompatActivity {
private Button mRegister;
private EditText mEmail, mPassword;
private FirebaseAuth mAuth;
private FirebaseAuth.AuthStateListener firebaseAuthStateListener;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_registration);
mAuth = FirebaseAuth.getInstance();
firebaseAuthStateListener = new FirebaseAuth.AuthStateListener() {
@Override
public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
final FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
if (user != null) ;
{
Intent intent = new Intent(RegistrationActivity.this, MainActivity.class);
startActivity(intent);
finish();
return;
}
}
};
mRegister = (Button) findViewById(R.id.register);
mEmail = (EditText) findViewById(R.id.email);
mPassword = (EditText) findViewById(R.id.password);
mRegister.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
final String email = mEmail.getText().toString();
final String password = mPassword.getText().toString();
mAuth.createUserWithEmailAndPassword(email, password).addOnCompleteListener(RegistrationActivity.this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
if (!task.isSuccessful()) {
Toast.makeText(RegistrationActivity.this, "sign up error", Toast.LENGTH_SHORT);
}
}
});
}
});
}
@Override
protected void onStart() {
super.onStart();
mAuth.addAuthStateListener(firebaseAuthStateListener);
}
@Override
protected void onStop() {
super.onStop();
mAuth.removeAuthStateListener(firebaseAuthStateListener);
}
}
package com.simoder.tinder;
导入androidx.annotation.NonNull;
导入androidx.appcompat.app.appcompat活动;
导入android.content.Intent;
导入android.os.Bundle;
导入android.view.view;
导入android.widget.Button;
导入android.widget.EditText;
导入android.widget.RelativeLayout;
导入android.widget.Toast;
导入com.google.android.gms.tasks.OnCompleteListener;
导入com.google.android.gms.tasks.Task;
导入com.google.firebase.auth.AuthResult;
导入com.google.firebase.auth.FirebaseAuth;
导入com.google.firebase.auth.FirebaseUser;
公共类注册活动扩展了AppCompatActivity{
私人按钮注册器;
私人编辑文本mEmail,mPassword;
私人消防队;
私有FirebaseAuth.AuthStateListener firebaseAuthStateListener;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u注册);
mAuth=FirebaseAuth.getInstance();
firebaseAuthStateListener=新的FirebaseAuth.AuthStateListener(){
@凌驾
AuthStateChanged上的公共void(@NonNull FirebaseAuth FirebaseAuth){
最终FirebaseUser用户=FirebaseAuth.getInstance().getCurrentUser();
如果(用户!=null);
{
意向意向=新意向(RegistrationActivity.this,MainActivity.class);
星触觉(意向);
完成();
回来
}
}
};
mRegister=(按钮)findviewbyd(R.id.register);
mEmail=(EditText)findViewById(R.id.email);
mPassword=(EditText)findViewById(R.id.password);
mRegister.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图){
最后一个字符串email=mEmail.getText().toString();
最终字符串密码=mPassword.getText().toString();
mAuth.createUserWithEmailAndPassword(电子邮件,密码).addOnCompleteListener(RegistrationActivity.this,new OnCompleteListener()){
@凌驾
未完成的公共void(@NonNull任务){
如果(!task.issusccessful()){
Toast.makeText(RegistrationActivity.this,“注册错误”,Toast.LENGTH\u SHORT);
}
}
});
}
});
}
@凌驾
受保护的void onStart(){
super.onStart();
mAuth.addAuthStateListener(firebaseAuthStateListener);
}
@凌驾
受保护的void onStop(){
super.onStop();
mAuth.removeAuthStateListener(firebaseAuthStateListener);
}
}
这是AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.simoder.tinder">
<uses-permission android:name="android.permission.INTERNET"/>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="tinder"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme"
tools:ignore="GoogleAppIndexingWarning">
<activity android:name=".LoginActivity"/>
<activity android:name=".RegistrationActivity" />
<activity android:name=".MainActivity" />
<activity android:name=".ChooseLoginRegistrationActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
这是运行日志
08/22 19:19:38:启动应用程序$adb shell am start-n
“com.simoder.tinder/com.simoder.tinder.ChooseLoginRegistration活动”
-a android.intent.action.MAIN-c android.intent.category.LAUNCHER客户端尚未就绪..正在等待进程联机连接到
处理6929设备仿真器-5554捕获和显示logcat
来自应用程序的消息。可以在中禁用此行为
“调试器”设置页面的“Logcat输出”部分。V/FA:
已注册的活动生命周期回调,带DynamicModule:本地模块
找不到com.google.firebase.auth的描述符类。
I/FirebaseInitProvider:FirebaseApp初始化成功V/FA:
onActivityCreated W/DynamicModule:的本地模块描述符类
找不到com.google.firebase.auth。W/.simoder.tinde:访问隐藏
方法
Landroid/视图/视图;->computeFitSystemWindows(Landroid/graphics/Rect;Landroid/graphics/Rect;)Z
(浅灰色列表,反射)W/.simoder.tinde:访问隐藏方法
Landroid/视图/视图组;->makeOptionalFitsSystemWindows()V(灯光
greylist,reflection)I/FirebaseAuth:[FirebaseAuth:]正在准备
创建到gms实现的服务连接D/OpenGLRenderer:Skia
GL管道D/:主机连接::get()已建立新主机连接
0xe7426d40,tid 6966 I/ConfigStore:
android::hardware::configstore::V1_0::ISurfaceFlingerConfigs::hasWideColorDisplay
检索到:0
android::hardware::configstore::V1_0::ISurfaceFlingerConfigs::hasHDRDisplay
检索到:0 I/OpenGLRenderer:已初始化EGL,版本1.4
D/OpenGLRenderer:交换行为1 W/OpenGLRenderer:未能选择
配置时保留EGL\u交换\u行为,重试时不带。。。
D/OpenGLRenderer:交换行为0 D/EGL_仿真:eglCreateContext:
0xe8d05660:maj 3 min 0 rcv 3 D/EGL_仿真:eglMakeCurrent:
0xe8d05660:版本3 0(tinfo 0xe8d03bb0)V/FA:已启用采集
应用程序包,谷歌应用程序id:com.simoder.tinder,1:361954020021:android:e29700d74fee181e D/EGL_仿真:
eglMakeCurrent:0xe8d05660:30版(tinfo 0xe8d03bb0)I/FA:App
正在启动测量,版本:18102
要启用调试日志记录,请运行:adb shell setprop log.tag.FA VERBOSE
要启用更快的调试模式事件日志记录,请运行:
adb shell setprop debug.firebase.analytics.app com.simoder.tinder D/FA:debug-level消息日志记录启用V/FA:
连接到远程服务I/.simoder.tinde:后台并发
复制GC释放的33445(5MB)AllocSpace对象,20(568KB)LOS对象,
50%空闲,2MB/4MB,暂停5.099ms总计122.920ms V/FA:连接
尝试已在进行I/FA:未找到标记管理器,因此
不使用D/FA:日志记录事件(FE):屏幕视图(_-vs),
捆[
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.simoder.tinder">
<uses-permission android:name="android.permission.INTERNET"/>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="tinder"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme"
tools:ignore="GoogleAppIndexingWarning">
<activity android:name=".LoginActivity"/>
<activity android:name=".RegistrationActivity" />
<activity android:name=".MainActivity" />
<activity android:name=".ChooseLoginRegistrationActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<activity android:name=".FirstActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<action android:name="android.intent.action.VIEW"/>
<action android:name="android.intent.action.SEARCH" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
...
</activity>
<activity android:name=".RegistrationActivity">
<intent-filter>
//This is what you'll need to add to the activity you want
// to come up first
**<category android:name="android.intent.category.LAUNCHER" />**
</intent-filter>
</activity>
if (user != null) ; //remove this ; from here
{
Intent intent = new Intent(RegistrationActivity.this,
MainActivity.class);
startActivity(intent);
finish();
return;
}
if(user != null)