繁体   English   中英

首次应用启动时再次加载活动

[英]Activity load again in first time app Launch

我想成功打开add.activity,但它打开了我的主要活动,加载主要活动后它成功加载了add.activity。 我想从 luckywheel.activity 成功打开 add.activity 但它切断了 luckywheel.activity 并打开 home.activity 然后它成功打开 add.activity.Bellow 是更好理解的例子

“A”到“B”,然后“B”到“C”,但它削减了“B”活动然后它重新创建“A”然后它进入“C”

我使用 firebase 数据库。我从文件中删除了 updatechildren 代码并解决了,但我需要使用 firebase 并更新一些孩子

final DatabaseReference reference = FirebaseDatabase.getInstance().getReference().child("Users");
final GoogleSignInAccount account = GoogleSignIn.getLastSignedInAccount(getApplicationContext());

    if (currentUser != null) {
         final String uid = currentUser.getUid();
         reference.child(uid).addListenerForSingleValueEvent(new ValueEventListener() {
              @Override
              public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

              UserInfo info = dataSnapshot.getValue(UserInfo.class);

              assert info != null;
              String coins = info.getCoins();
              assert account != null;
              String email = account.getEmail();
              String name = info.getName();
              //final Date currentTime = Calendar.getInstance().getTime();
              int up = Integer.parseInt(coins);
              int addition = up + 10;
              String updatedCoins = String.valueOf(addition);

              HashMap<String, Object> map = new HashMap<>();
              map.put("coins", updatedCoins);
              map.put("email", email);
              map.put("name", name);
              map.put("uid", uid);

              reference.child(uid).updateChildren(map).addOnCompleteListener(new OnCompleteListener<Void>() {
              @Override
              public void onComplete(@NonNull Task<Void> task) {

                   if (task.isSuccessful()) {
                        loadingDialog.show();
                        final int intervalTime = 3000;
                        Handler handler = new Handler();
                        handler.postDelayed(new Runnable() {
                           @Override
                           public void run() {
                                 loadingDialog.dismiss();
                                 Intent opensuccessful = new Intent(getApplicationContext(), videosucess.class);
                                 startActivity(opensuccessful);
                            }
                        }, intervalTime);

                    }else {
                        loadingDialog.dismiss();
                        Toast.makeText(ChoiceSelection.this, "Failed: Check your internet!", Toast.LENGTH_SHORT).show();
                    }

               }
         });

    }

        @Override
        public void onCancelled(@NonNull DatabaseError databaseError){

        }

请检查您的清单文件并将其设置为启动器,以便在您在 lickwheel 活动中执行此操作之前不会加载主要活动

<activity android:name=".luckywheel">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

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

您可以在successfullyadd.activity添加.activity 之前清除BackStack

Intent opensuccessful = new Intent(getApplicationContext(), videosucess.class);
opensuccessful.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK); 
startActivity(opensuccessful);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM