簡體   English   中英

為什么我的onStart()函數在項目的主要活動開始時不起作用?

[英]Why my onStart() function is not working at start of the main activity of my project?

我在主要活動開始時運行onStart方法時遇到問題。 我的onstart方法不檢查條件,因此每當我打開我的應用程序時,我總是一直指向我項目的register_activity,這是不可接受的,因為我希望只有新用戶才可以直接訪問registerr_activity,而不是在數據庫中已經存在。

                         package com.example.bookstore;

                           import androidx.appcompat.app.AppCompatActivity;

                           import android.content.Intent;
                           import android.os.Bundle;
                           import android.os.SystemClock;

                           import com.google.firebase.auth.FirebaseAuth;
                           import com.google.firebase.auth.FirebaseUser;

                           public class MainActivity extends AppCompatActivity {

                           private FirebaseAuth firebaseAuth;

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

                           firebaseAuth = FirebaseAuth.getInstance(); accessing firebashauth object
                           SystemClock.sleep(3000);
                           Intent register = new Intent(MainActivity.this, Register_Activity.class);
                           startActivity(register); 

                           //here register intent will shift from 
                           mainactivity to register_activity after 3000 ms

                           finish(); here finishing the register intent
                             }

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

                        **FirebaseUser currentUser = firebaseAuth.getCurrentUser();**

                           ***if (currentUser == null)* {
                          Intent registerintent = new Intent(MainActivity.this, 
                          Register_Activity.class);
                           startActivity(registerintent);
                           finish();
                           } 

                            else {
                           *Intent homeactivity = new Intent(MainActivity.this,Home_Activity.class);
                           startActivity(homeactivity);
                           finish();*
                            }**
           This if condition is not checking in onStart method and thus due to this i am always directing to register_activity.
                              }}

根據android生命周期,onCreate()在onStart()之前被調用。 在onCreate()中的代碼中,您正在執行

Intent register = new Intent(MainActivity.this, Register_Activity.class);
startActivity(register); 

因此,即使在檢查onStart()內的邏輯之前,它也始終會進入Register活動。 要解決此問題,請從onCreate()中刪除上述行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM