ValueEventlistener调用intent重复其他Activity上的Intent调用

时间:2017-03-02 08:02:55

标签: android android-intent firebase firebase-realtime-database

我已经从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

1 个答案:

答案 0 :(得分:0)

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