我已经从Intent调用了一个Activity,putExtra值是从android中的Firebase的ValueEventListener / SingleValueEventlistner派生的。但是当调用Intent时,要打开的Activty会不断被调用。这是监听器和意图的代码
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 Auth检查User!= null时调用该方法。我试过将听众分开暂停但没有用。
enter code here
答案 0 :(得分:0)
onSignInInitailize多久调用一次? 你确定你没有注册很多新的ValueEventListeners吗?