2017-03-02 44 views
-1

您好我已经从Intent调用一个活动,putExtra值是从android中的Firebase的ValueEventListener/SingleValueEventlistner派生。但是当Intent被调用时,被打开的Activty会一直被重复调用。这里是听众和意图的代码ValueEventlistener调用意图重复其他活动的意图调用

public void onSignInInitailize(String name) 
{ 
    displayName = name; 
    name = name.replace(" ",""); 
    Email = "FY1/" + name; 
    query = databaseReference.getRef(); 
    valueEventlistner = new ValueEventListener() { 
     @Override 
     public void onDataChange(DataSnapshot dataSnapshot) { 
      sfy1 = (String) dataSnapshot.child(Email).getValue(); 
      intent = new Intent(getApplication(),StudentActivity.class); 
      intent.putExtra("name", displayName); 
      intent.putExtra("class",sfy1); 
      startActivity(intent); 
      if(sfy1.equals("true")) 
      { 
       query.removeEventListener(this); 
      } 
     } 
     @Override 
     public void onCancelled(DatabaseError databaseError) 
      { 
      } 
    }; 
    query.addValueEventListener(valueEventlistner); 
    System.out.println(sfy1); 
} 

当Firebase身份验证检查User!= null时,将调用此方法。我试图将听众分开,但没用。

enter code here 

回答

0

onSignInInitailize多久调用一次? 你确定你没有注册很多新的ValueEventListeners吗?

+0

这是我附加的唯一valueEventListener,onSignInInitialized也被初始化一次。 –