我的应用程序没有在Android模拟器中运行

我的应用程序没有在Android模拟器中运行,android,android-studio,android-emulator,Android,Android Studio,Android Emulator,因此,我正在开发一个聊天应用程序,并在android模拟器(pixel 3选项)上进行了测试。但现在我试图让它在另一个模拟器中运行(这次我选择了Pixel2),但没有运行 我将传递一些代码,包括main活动。 这是LogCat发来的 2020-01-28 01:47:57.456 10456-10494/com.example.textmefinal E/FirebaseInstanceId:令牌检索失败:服务不可用 主要活动 package com.example.textmefinal;

因此,我正在开发一个聊天应用程序,并在android模拟器(pixel 3选项)上进行了测试。但现在我试图让它在另一个模拟器中运行(这次我选择了Pixel2),但没有运行

我将传递一些代码,包括main活动。

这是LogCat发来的

2020-01-28 01:47:57.456 10456-10494/com.example.textmefinal E/FirebaseInstanceId:令牌检索失败:服务不可用

主要活动

package com.example.textmefinal;
package com.example.textmefinal;
package com.example.textmefinal;
公共类MainActivity扩展了AppCompatActivity{

private Toolbar mToolbar;
private ViewPager myViewPager;
private TabLayout myTabLayout;
private TabsAccessorAdapter myTabsAccessorAdapter;

private FirebaseUser currentUser;
private FirebaseAuth mAuth;
private DatabaseReference RootRef;
private String currentUserID;

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

    mAuth = FirebaseAuth.getInstance();
    currentUser  = mAuth.getCurrentUser();
    currentUserID = mAuth.getCurrentUser().getUid();
    RootRef = FirebaseDatabase.getInstance().getReference();

    mToolbar = (Toolbar) findViewById(R.id.main_page_toolbar);
    setSupportActionBar(mToolbar);
    getSupportActionBar().setTitle("TextMe");

    myViewPager = (ViewPager) findViewById(R.id.main_tabs_pager);
    myTabsAccessorAdapter =  new TabsAccessorAdapter(getSupportFragmentManager());
    myViewPager.setAdapter(myTabsAccessorAdapter);

    myTabLayout = (TabLayout) findViewById(R.id.main_tabs);
    myTabLayout.setupWithViewPager(myViewPager);
}


@Override
protected void onStart() {
    super.onStart();

    if (currentUser == null){
        SendUserToLoginActivity();
    }
    else {
        VerifyUserExistance();
    }
}

private void VerifyUserExistance() {
    String currentUserId = mAuth.getCurrentUser().getUid();

    RootRef.child("Users").child(currentUserId).addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            if ((dataSnapshot.child("name").exists())){
                Toast.makeText(MainActivity.this, "Welcome", Toast.LENGTH_SHORT).show();
            }
            else {
                SendUserToSettingsActivity();
            }
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {

        }
    });
}


@Override
public boolean onCreateOptionsMenu(Menu menu) {
    super.onCreateOptionsMenu(menu);

    getMenuInflater().inflate(R.menu.options_menu, menu);

    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    super.onOptionsItemSelected(item);
    if (item.getItemId() == R.id.main_logout_option){
        mAuth.signOut();
        SendUserToLoginActivity();
    }
    if (item.getItemId() == R.id.main_settings_option){

        SendUserToSettingsActivity();

    }
    if (item.getItemId() == R.id.main_find_friends_option){
        SendUserToFindFriendsActivity();
    }

    return true;
}

private void SendUserToLoginActivity() {

    Intent loginIntent = new Intent(MainActivity.this, LoginActivity.class);
    loginIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
    startActivity(loginIntent);
    //finish();
}

private void SendUserToSettingsActivity() {

    Intent settingsIntent = new Intent(MainActivity.this, SettingsActivity.class);
    startActivity(settingsIntent);
}


private void SendUserToFindFriendsActivity() {

    Intent findFriendsIntent = new Intent(MainActivity.this, FindFriendsActivity.class);
    startActivity(findFriendsIntent);
}
private FirebaseAuth mAuth;
private ProgressDialog loadingBar;


private Button LoginButton, PhoneLoginButton;
private EditText UserEmail, UserPassword;
private TextView NeedNewAccountLink, ForgetPasswordLink;

private DatabaseReference UsersRef;


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

    mAuth = FirebaseAuth.getInstance();
    UsersRef = FirebaseDatabase.getInstance().getReference().child("Users");

    InitializeFields();

    NeedNewAccountLink.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            SendUserToRegisterActivity();
        }
    });

    LoginButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            AllowUserToLogin();
        }
    });
}

@Override
protected void onStart()
            {
                super.onStart();

                FirebaseUser currentUser = mAuth.getCurrentUser();
                if (currentUser != null)
                    {
                        SendUserToMainActivity();
                    }
            }

private void AllowUserToLogin() {
    String email = UserEmail.getText().toString();
    String password = UserPassword.getText().toString();

    if (TextUtils.isEmpty(email)){
        Toast.makeText(this, "Please enter email...", Toast.LENGTH_SHORT).show();
    }
    if (TextUtils.isEmpty(password)){
        Toast.makeText(this, "Please enter password...", Toast.LENGTH_SHORT).show();
    }
    else {

        loadingBar.setTitle("Sign In");
        loadingBar.setMessage("Please wait...");
        loadingBar.setCanceledOnTouchOutside(true);
        loadingBar.show();

        mAuth.signInWithEmailAndPassword(email, password)
                .addOnCompleteListener(new OnCompleteListener<AuthResult>() {
                    @Override
                    public void onComplete(@NonNull Task<AuthResult> task) {
                        if (task.isSuccessful()){

                            String currentUserId = mAuth.getCurrentUser().getUid();
                            String deviceToken = FirebaseInstanceId.getInstance().getToken();

                            UsersRef.child(currentUserId).child("device_token")
                                    .setValue(deviceToken)
                                    .addOnCompleteListener(new OnCompleteListener<Void>() {
                                        @Override
                                        public void onComplete(@NonNull Task<Void> task) {
                                            if (task.isSuccessful())  {
                                                SendUserToMainActivity();
                                                Toast.makeText(LoginActivity.this, "Logged in Successful", Toast.LENGTH_SHORT).show();
                                                loadingBar.dismiss();
                                            }
                                        }
                                    });
                        }
                        else {
                            String message = task.getException().toString();
                            Toast.makeText(LoginActivity.this, "Error: " + message, Toast.LENGTH_SHORT).show();
                            loadingBar.dismiss();
                        }
                    }
                });
    }
}

private void InitializeFields() {
    LoginButton = (Button) findViewById(R.id.login_button);
    PhoneLoginButton = (Button) findViewById(R.id.phone_login_button);
    UserEmail = (EditText) findViewById(R.id.login_email);
    UserPassword = (EditText) findViewById(R.id.login_password);
    NeedNewAccountLink = (TextView) findViewById(R.id.need_new_account_link);
    ForgetPasswordLink = (TextView) findViewById(R.id.forget_password_link);
    loadingBar = new ProgressDialog(this);

}


private void SendUserToMainActivity() {
    Intent mainIntent = new Intent(LoginActivity.this, MainActivity.class);
    mainIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
    startActivity(mainIntent);
    finish();
}

private void SendUserToRegisterActivity() {
    Intent registerIntent = new Intent(LoginActivity.this, RegisterActivity.class);
    startActivity(registerIntent);
}
private Button CreateAccountButton;
private EditText UserEmail, UserPassword;
private TextView AlreadyHaveAccountLink;

private FirebaseAuth mAuth;
private DatabaseReference RootRef;

private ProgressDialog loadingBar;

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

    mAuth = FirebaseAuth.getInstance();
    RootRef = FirebaseDatabase.getInstance().getReference();


    InitializeFields();


    AlreadyHaveAccountLink.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            SendUserToLoginActivity();
        }
    });

    CreateAccountButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            CreateNewAccount();
        }
    });
}

private void CreateNewAccount() {
    String email = UserEmail.getText().toString();
    String password = UserPassword.getText().toString();

    if (TextUtils.isEmpty(email)){
        Toast.makeText(this, "Please enter email...", Toast.LENGTH_SHORT).show();
    }
    if (TextUtils.isEmpty(password)){
        Toast.makeText(this, "Please enter password...", Toast.LENGTH_SHORT).show();
    }
    else {

        loadingBar.setTitle("Creating New Account");
        loadingBar.setMessage("Please wait, while we are creating new account for you...");
        loadingBar.setCanceledOnTouchOutside(true);
        loadingBar.show();

        mAuth.createUserWithEmailAndPassword(email, password)
                .addOnCompleteListener(new OnCompleteListener<AuthResult>() {
                    @Override
                    public void onComplete(@NonNull Task<AuthResult> task) {
                        if (task.isSuccessful()){

                            String deviceToken = FirebaseInstanceId.getInstance().getToken();


                            String currentUserID = mAuth.getCurrentUser().getUid();
                            RootRef.child("Users").child(currentUserID).setValue("");

                            RootRef.child("Users").child(currentUserID).child("device_token")
                                    .setValue(deviceToken);

                            SendUserToMainActivity();
                            Toast.makeText(RegisterActivity.this, "Account Created Successfully...", Toast.LENGTH_SHORT).show();
                            loadingBar.dismiss();
                        }
                        else {
                            String message = task.getException().toString();
                            Toast.makeText(RegisterActivity.this, "Error: " + message, Toast.LENGTH_SHORT).show();
                            loadingBar.dismiss();
                        }
                    }
                });
    }
}

private void InitializeFields() {
    CreateAccountButton = (Button) findViewById(R.id.register_button);
    UserEmail = (EditText) findViewById(R.id.register_email);
    UserPassword = (EditText) findViewById(R.id.register_password);
    AlreadyHaveAccountLink = (TextView) findViewById(R.id.already_have_account_link);

    loadingBar = new ProgressDialog(this);
}

private void SendUserToLoginActivity() {
    Intent loginIntent = new Intent(RegisterActivity.this, LoginActivity.class);
    startActivity(loginIntent);
}

private void SendUserToMainActivity() {
    Intent mainIntent = new Intent(RegisterActivity.this, MainActivity.class);
    mainIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
    startActivity(mainIntent);
    finish();
}
}

登录活动

package com.example.textmefinal;
package com.example.textmefinal;
package com.example.textmefinal;
公共类LoginActivity扩展了AppCompatActivity{

private Toolbar mToolbar;
private ViewPager myViewPager;
private TabLayout myTabLayout;
private TabsAccessorAdapter myTabsAccessorAdapter;

private FirebaseUser currentUser;
private FirebaseAuth mAuth;
private DatabaseReference RootRef;
private String currentUserID;

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

    mAuth = FirebaseAuth.getInstance();
    currentUser  = mAuth.getCurrentUser();
    currentUserID = mAuth.getCurrentUser().getUid();
    RootRef = FirebaseDatabase.getInstance().getReference();

    mToolbar = (Toolbar) findViewById(R.id.main_page_toolbar);
    setSupportActionBar(mToolbar);
    getSupportActionBar().setTitle("TextMe");

    myViewPager = (ViewPager) findViewById(R.id.main_tabs_pager);
    myTabsAccessorAdapter =  new TabsAccessorAdapter(getSupportFragmentManager());
    myViewPager.setAdapter(myTabsAccessorAdapter);

    myTabLayout = (TabLayout) findViewById(R.id.main_tabs);
    myTabLayout.setupWithViewPager(myViewPager);
}


@Override
protected void onStart() {
    super.onStart();

    if (currentUser == null){
        SendUserToLoginActivity();
    }
    else {
        VerifyUserExistance();
    }
}

private void VerifyUserExistance() {
    String currentUserId = mAuth.getCurrentUser().getUid();

    RootRef.child("Users").child(currentUserId).addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            if ((dataSnapshot.child("name").exists())){
                Toast.makeText(MainActivity.this, "Welcome", Toast.LENGTH_SHORT).show();
            }
            else {
                SendUserToSettingsActivity();
            }
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {

        }
    });
}


@Override
public boolean onCreateOptionsMenu(Menu menu) {
    super.onCreateOptionsMenu(menu);

    getMenuInflater().inflate(R.menu.options_menu, menu);

    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    super.onOptionsItemSelected(item);
    if (item.getItemId() == R.id.main_logout_option){
        mAuth.signOut();
        SendUserToLoginActivity();
    }
    if (item.getItemId() == R.id.main_settings_option){

        SendUserToSettingsActivity();

    }
    if (item.getItemId() == R.id.main_find_friends_option){
        SendUserToFindFriendsActivity();
    }

    return true;
}

private void SendUserToLoginActivity() {

    Intent loginIntent = new Intent(MainActivity.this, LoginActivity.class);
    loginIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
    startActivity(loginIntent);
    //finish();
}

private void SendUserToSettingsActivity() {

    Intent settingsIntent = new Intent(MainActivity.this, SettingsActivity.class);
    startActivity(settingsIntent);
}


private void SendUserToFindFriendsActivity() {

    Intent findFriendsIntent = new Intent(MainActivity.this, FindFriendsActivity.class);
    startActivity(findFriendsIntent);
}
private FirebaseAuth mAuth;
private ProgressDialog loadingBar;


private Button LoginButton, PhoneLoginButton;
private EditText UserEmail, UserPassword;
private TextView NeedNewAccountLink, ForgetPasswordLink;

private DatabaseReference UsersRef;


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

    mAuth = FirebaseAuth.getInstance();
    UsersRef = FirebaseDatabase.getInstance().getReference().child("Users");

    InitializeFields();

    NeedNewAccountLink.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            SendUserToRegisterActivity();
        }
    });

    LoginButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            AllowUserToLogin();
        }
    });
}

@Override
protected void onStart()
            {
                super.onStart();

                FirebaseUser currentUser = mAuth.getCurrentUser();
                if (currentUser != null)
                    {
                        SendUserToMainActivity();
                    }
            }

private void AllowUserToLogin() {
    String email = UserEmail.getText().toString();
    String password = UserPassword.getText().toString();

    if (TextUtils.isEmpty(email)){
        Toast.makeText(this, "Please enter email...", Toast.LENGTH_SHORT).show();
    }
    if (TextUtils.isEmpty(password)){
        Toast.makeText(this, "Please enter password...", Toast.LENGTH_SHORT).show();
    }
    else {

        loadingBar.setTitle("Sign In");
        loadingBar.setMessage("Please wait...");
        loadingBar.setCanceledOnTouchOutside(true);
        loadingBar.show();

        mAuth.signInWithEmailAndPassword(email, password)
                .addOnCompleteListener(new OnCompleteListener<AuthResult>() {
                    @Override
                    public void onComplete(@NonNull Task<AuthResult> task) {
                        if (task.isSuccessful()){

                            String currentUserId = mAuth.getCurrentUser().getUid();
                            String deviceToken = FirebaseInstanceId.getInstance().getToken();

                            UsersRef.child(currentUserId).child("device_token")
                                    .setValue(deviceToken)
                                    .addOnCompleteListener(new OnCompleteListener<Void>() {
                                        @Override
                                        public void onComplete(@NonNull Task<Void> task) {
                                            if (task.isSuccessful())  {
                                                SendUserToMainActivity();
                                                Toast.makeText(LoginActivity.this, "Logged in Successful", Toast.LENGTH_SHORT).show();
                                                loadingBar.dismiss();
                                            }
                                        }
                                    });
                        }
                        else {
                            String message = task.getException().toString();
                            Toast.makeText(LoginActivity.this, "Error: " + message, Toast.LENGTH_SHORT).show();
                            loadingBar.dismiss();
                        }
                    }
                });
    }
}

private void InitializeFields() {
    LoginButton = (Button) findViewById(R.id.login_button);
    PhoneLoginButton = (Button) findViewById(R.id.phone_login_button);
    UserEmail = (EditText) findViewById(R.id.login_email);
    UserPassword = (EditText) findViewById(R.id.login_password);
    NeedNewAccountLink = (TextView) findViewById(R.id.need_new_account_link);
    ForgetPasswordLink = (TextView) findViewById(R.id.forget_password_link);
    loadingBar = new ProgressDialog(this);

}


private void SendUserToMainActivity() {
    Intent mainIntent = new Intent(LoginActivity.this, MainActivity.class);
    mainIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
    startActivity(mainIntent);
    finish();
}

private void SendUserToRegisterActivity() {
    Intent registerIntent = new Intent(LoginActivity.this, RegisterActivity.class);
    startActivity(registerIntent);
}
private Button CreateAccountButton;
private EditText UserEmail, UserPassword;
private TextView AlreadyHaveAccountLink;

private FirebaseAuth mAuth;
private DatabaseReference RootRef;

private ProgressDialog loadingBar;

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

    mAuth = FirebaseAuth.getInstance();
    RootRef = FirebaseDatabase.getInstance().getReference();


    InitializeFields();


    AlreadyHaveAccountLink.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            SendUserToLoginActivity();
        }
    });

    CreateAccountButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            CreateNewAccount();
        }
    });
}

private void CreateNewAccount() {
    String email = UserEmail.getText().toString();
    String password = UserPassword.getText().toString();

    if (TextUtils.isEmpty(email)){
        Toast.makeText(this, "Please enter email...", Toast.LENGTH_SHORT).show();
    }
    if (TextUtils.isEmpty(password)){
        Toast.makeText(this, "Please enter password...", Toast.LENGTH_SHORT).show();
    }
    else {

        loadingBar.setTitle("Creating New Account");
        loadingBar.setMessage("Please wait, while we are creating new account for you...");
        loadingBar.setCanceledOnTouchOutside(true);
        loadingBar.show();

        mAuth.createUserWithEmailAndPassword(email, password)
                .addOnCompleteListener(new OnCompleteListener<AuthResult>() {
                    @Override
                    public void onComplete(@NonNull Task<AuthResult> task) {
                        if (task.isSuccessful()){

                            String deviceToken = FirebaseInstanceId.getInstance().getToken();


                            String currentUserID = mAuth.getCurrentUser().getUid();
                            RootRef.child("Users").child(currentUserID).setValue("");

                            RootRef.child("Users").child(currentUserID).child("device_token")
                                    .setValue(deviceToken);

                            SendUserToMainActivity();
                            Toast.makeText(RegisterActivity.this, "Account Created Successfully...", Toast.LENGTH_SHORT).show();
                            loadingBar.dismiss();
                        }
                        else {
                            String message = task.getException().toString();
                            Toast.makeText(RegisterActivity.this, "Error: " + message, Toast.LENGTH_SHORT).show();
                            loadingBar.dismiss();
                        }
                    }
                });
    }
}

private void InitializeFields() {
    CreateAccountButton = (Button) findViewById(R.id.register_button);
    UserEmail = (EditText) findViewById(R.id.register_email);
    UserPassword = (EditText) findViewById(R.id.register_password);
    AlreadyHaveAccountLink = (TextView) findViewById(R.id.already_have_account_link);

    loadingBar = new ProgressDialog(this);
}

private void SendUserToLoginActivity() {
    Intent loginIntent = new Intent(RegisterActivity.this, LoginActivity.class);
    startActivity(loginIntent);
}

private void SendUserToMainActivity() {
    Intent mainIntent = new Intent(RegisterActivity.this, MainActivity.class);
    mainIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
    startActivity(mainIntent);
    finish();
}
公共类注册活动扩展了AppCompatActivity{

private Toolbar mToolbar;
private ViewPager myViewPager;
private TabLayout myTabLayout;
private TabsAccessorAdapter myTabsAccessorAdapter;

private FirebaseUser currentUser;
private FirebaseAuth mAuth;
private DatabaseReference RootRef;
private String currentUserID;

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

    mAuth = FirebaseAuth.getInstance();
    currentUser  = mAuth.getCurrentUser();
    currentUserID = mAuth.getCurrentUser().getUid();
    RootRef = FirebaseDatabase.getInstance().getReference();

    mToolbar = (Toolbar) findViewById(R.id.main_page_toolbar);
    setSupportActionBar(mToolbar);
    getSupportActionBar().setTitle("TextMe");

    myViewPager = (ViewPager) findViewById(R.id.main_tabs_pager);
    myTabsAccessorAdapter =  new TabsAccessorAdapter(getSupportFragmentManager());
    myViewPager.setAdapter(myTabsAccessorAdapter);

    myTabLayout = (TabLayout) findViewById(R.id.main_tabs);
    myTabLayout.setupWithViewPager(myViewPager);
}


@Override
protected void onStart() {
    super.onStart();

    if (currentUser == null){
        SendUserToLoginActivity();
    }
    else {
        VerifyUserExistance();
    }
}

private void VerifyUserExistance() {
    String currentUserId = mAuth.getCurrentUser().getUid();

    RootRef.child("Users").child(currentUserId).addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            if ((dataSnapshot.child("name").exists())){
                Toast.makeText(MainActivity.this, "Welcome", Toast.LENGTH_SHORT).show();
            }
            else {
                SendUserToSettingsActivity();
            }
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {

        }
    });
}


@Override
public boolean onCreateOptionsMenu(Menu menu) {
    super.onCreateOptionsMenu(menu);

    getMenuInflater().inflate(R.menu.options_menu, menu);

    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    super.onOptionsItemSelected(item);
    if (item.getItemId() == R.id.main_logout_option){
        mAuth.signOut();
        SendUserToLoginActivity();
    }
    if (item.getItemId() == R.id.main_settings_option){

        SendUserToSettingsActivity();

    }
    if (item.getItemId() == R.id.main_find_friends_option){
        SendUserToFindFriendsActivity();
    }

    return true;
}

private void SendUserToLoginActivity() {

    Intent loginIntent = new Intent(MainActivity.this, LoginActivity.class);
    loginIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
    startActivity(loginIntent);
    //finish();
}

private void SendUserToSettingsActivity() {

    Intent settingsIntent = new Intent(MainActivity.this, SettingsActivity.class);
    startActivity(settingsIntent);
}


private void SendUserToFindFriendsActivity() {

    Intent findFriendsIntent = new Intent(MainActivity.this, FindFriendsActivity.class);
    startActivity(findFriendsIntent);
}
private FirebaseAuth mAuth;
private ProgressDialog loadingBar;


private Button LoginButton, PhoneLoginButton;
private EditText UserEmail, UserPassword;
private TextView NeedNewAccountLink, ForgetPasswordLink;

private DatabaseReference UsersRef;


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

    mAuth = FirebaseAuth.getInstance();
    UsersRef = FirebaseDatabase.getInstance().getReference().child("Users");

    InitializeFields();

    NeedNewAccountLink.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            SendUserToRegisterActivity();
        }
    });

    LoginButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            AllowUserToLogin();
        }
    });
}

@Override
protected void onStart()
            {
                super.onStart();

                FirebaseUser currentUser = mAuth.getCurrentUser();
                if (currentUser != null)
                    {
                        SendUserToMainActivity();
                    }
            }

private void AllowUserToLogin() {
    String email = UserEmail.getText().toString();
    String password = UserPassword.getText().toString();

    if (TextUtils.isEmpty(email)){
        Toast.makeText(this, "Please enter email...", Toast.LENGTH_SHORT).show();
    }
    if (TextUtils.isEmpty(password)){
        Toast.makeText(this, "Please enter password...", Toast.LENGTH_SHORT).show();
    }
    else {

        loadingBar.setTitle("Sign In");
        loadingBar.setMessage("Please wait...");
        loadingBar.setCanceledOnTouchOutside(true);
        loadingBar.show();

        mAuth.signInWithEmailAndPassword(email, password)
                .addOnCompleteListener(new OnCompleteListener<AuthResult>() {
                    @Override
                    public void onComplete(@NonNull Task<AuthResult> task) {
                        if (task.isSuccessful()){

                            String currentUserId = mAuth.getCurrentUser().getUid();
                            String deviceToken = FirebaseInstanceId.getInstance().getToken();

                            UsersRef.child(currentUserId).child("device_token")
                                    .setValue(deviceToken)
                                    .addOnCompleteListener(new OnCompleteListener<Void>() {
                                        @Override
                                        public void onComplete(@NonNull Task<Void> task) {
                                            if (task.isSuccessful())  {
                                                SendUserToMainActivity();
                                                Toast.makeText(LoginActivity.this, "Logged in Successful", Toast.LENGTH_SHORT).show();
                                                loadingBar.dismiss();
                                            }
                                        }
                                    });
                        }
                        else {
                            String message = task.getException().toString();
                            Toast.makeText(LoginActivity.this, "Error: " + message, Toast.LENGTH_SHORT).show();
                            loadingBar.dismiss();
                        }
                    }
                });
    }
}

private void InitializeFields() {
    LoginButton = (Button) findViewById(R.id.login_button);
    PhoneLoginButton = (Button) findViewById(R.id.phone_login_button);
    UserEmail = (EditText) findViewById(R.id.login_email);
    UserPassword = (EditText) findViewById(R.id.login_password);
    NeedNewAccountLink = (TextView) findViewById(R.id.need_new_account_link);
    ForgetPasswordLink = (TextView) findViewById(R.id.forget_password_link);
    loadingBar = new ProgressDialog(this);

}


private void SendUserToMainActivity() {
    Intent mainIntent = new Intent(LoginActivity.this, MainActivity.class);
    mainIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
    startActivity(mainIntent);
    finish();
}

private void SendUserToRegisterActivity() {
    Intent registerIntent = new Intent(LoginActivity.this, RegisterActivity.class);
    startActivity(registerIntent);
}
private Button CreateAccountButton;
private EditText UserEmail, UserPassword;
private TextView AlreadyHaveAccountLink;

private FirebaseAuth mAuth;
private DatabaseReference RootRef;

private ProgressDialog loadingBar;

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

    mAuth = FirebaseAuth.getInstance();
    RootRef = FirebaseDatabase.getInstance().getReference();


    InitializeFields();


    AlreadyHaveAccountLink.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            SendUserToLoginActivity();
        }
    });

    CreateAccountButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            CreateNewAccount();
        }
    });
}

private void CreateNewAccount() {
    String email = UserEmail.getText().toString();
    String password = UserPassword.getText().toString();

    if (TextUtils.isEmpty(email)){
        Toast.makeText(this, "Please enter email...", Toast.LENGTH_SHORT).show();
    }
    if (TextUtils.isEmpty(password)){
        Toast.makeText(this, "Please enter password...", Toast.LENGTH_SHORT).show();
    }
    else {

        loadingBar.setTitle("Creating New Account");
        loadingBar.setMessage("Please wait, while we are creating new account for you...");
        loadingBar.setCanceledOnTouchOutside(true);
        loadingBar.show();

        mAuth.createUserWithEmailAndPassword(email, password)
                .addOnCompleteListener(new OnCompleteListener<AuthResult>() {
                    @Override
                    public void onComplete(@NonNull Task<AuthResult> task) {
                        if (task.isSuccessful()){

                            String deviceToken = FirebaseInstanceId.getInstance().getToken();


                            String currentUserID = mAuth.getCurrentUser().getUid();
                            RootRef.child("Users").child(currentUserID).setValue("");

                            RootRef.child("Users").child(currentUserID).child("device_token")
                                    .setValue(deviceToken);

                            SendUserToMainActivity();
                            Toast.makeText(RegisterActivity.this, "Account Created Successfully...", Toast.LENGTH_SHORT).show();
                            loadingBar.dismiss();
                        }
                        else {
                            String message = task.getException().toString();
                            Toast.makeText(RegisterActivity.this, "Error: " + message, Toast.LENGTH_SHORT).show();
                            loadingBar.dismiss();
                        }
                    }
                });
    }
}

private void InitializeFields() {
    CreateAccountButton = (Button) findViewById(R.id.register_button);
    UserEmail = (EditText) findViewById(R.id.register_email);
    UserPassword = (EditText) findViewById(R.id.register_password);
    AlreadyHaveAccountLink = (TextView) findViewById(R.id.already_have_account_link);

    loadingBar = new ProgressDialog(this);
}

private void SendUserToLoginActivity() {
    Intent loginIntent = new Intent(RegisterActivity.this, LoginActivity.class);
    startActivity(loginIntent);
}

private void SendUserToMainActivity() {
    Intent mainIntent = new Intent(RegisterActivity.this, MainActivity.class);
    mainIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
    startActivity(mainIntent);
    finish();
}
private按钮CreateAccountButton;
私人编辑文本用户电子邮件,用户密码;
私有文本视图AlreadyHaveAccountLink;
私人消防队;
私有数据库引用RootRef;
私有进程对话框加载栏;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u寄存器);
mAuth=FirebaseAuth.getInstance();
RootRef=FirebaseDatabase.getInstance().getReference();
初始化字段();
AlreadyHaveAccountLink.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图){
SendUserToLoginActivity();
}
});
CreateAccountButton.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图){
CreateNewAccount();
}
});
}
私有void CreateNewAccount(){
字符串email=UserEmail.getText().toString();
字符串密码=UserPassword.getText().toString();
如果(TextUtils.isEmpty(电子邮件)){
Toast.makeText(这是“请输入电子邮件…”,Toast.LENGTH_SHORT.show();
}
if(TextUtils.isEmpty(密码)){
Toast.makeText(这是“请输入密码…”,Toast.LENGTH_SHORT.show();
}
否则{
loadingBar.setTitle(“创建新帐户”);
loadingBar.setMessage(“请稍候,我们正在为您创建新帐户…”);
loadingBar.SetCanceledOnTouchOut(真);
loadingBar.show();
mAuth.createUserWithEmailAndPassword(电子邮件,密码)
.addOnCompleteListener(新的OnCompleteListener


如果您单击编辑器底部的“运行”选项卡,如果应用程序遇到异常,您通常会看到一条以红色书写的消息。该消息应该会告诉您遇到了哪个错误。

您的应用程序TextMe在启动程序活动中遇到了一些问题,即它在启动时崩溃的原因,请修复该问题…或共享logcat so的日志我们可以提供帮助。

共享logcat消息。很抱歉,缺少更多信息,我已经用更多信息更新了帖子。但是logcat的日志没有显示任何错误,实际上是应用程序没有打开,它被安装了,但这就是Mauth.getCurrentUser()这就是为什么在应用程序启动时,当您调用mAuth.getCurrentUser().getUid()时,会出现null指针异常;您好,感谢您的响应,是的,我添加了一个新的ss,但问题是没有显示任何错误