Firebase随机一对一聊天

时间:2017-02-13 18:32:59

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

我想用随机搜索创建随机聊天室。 当用户点击“搜索用户”按钮

时,我会使用户的搜索值= 1

然后,当搜索完成搜索时,返回另一个用户的UID并创建聊天意图并将消息推送给其他UID用户以打开意图。但问题是,如果找到的用户找到另一个朋友聊天并开始与我聊天,那就会卡住。

如何实施这种随机1-1聊天方案?

编辑:

我将搜索活动用户= 1和其他用户设置为2 1是活动搜索者和内容启动者用户另外2是被动服务员1

FirebaseDatabase.getInstance().getReference().child("users").child(FirebaseAuth.getInstance().getCurrentUser().getUid()).child("searching").setValue("1");

FirebaseDatabase.getInstance().getReference().child("users").addListenerForSingleValueEvent(new ValueEventListener(){
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
    // Get user information
    Iterator<DataSnapshot> dataSnapshots = dataSnapshot.getChildren().iterator();
    // List<users> users = new ArrayList<>();
    while (dataSnapshots.hasNext()) {
        DataSnapshot dataSnapshotChild = dataSnapshots.next();
        final users user = dataSnapshotChild.getValue(users.class);
        if (!TextUtils.equals(user.uid, FirebaseAuth.getInstance().getCurrentUser().getUid())) {
            //users.add(user);
            if (TextUtils.equals(user.searching, "1")) {
                // dialog.dismiss();
                String rdomui = UUID.randomUUID().toString();
                Log.d(TAG,user.uid.toString());
                FirebaseDatabase.getInstance().getReference().child("users").child(FirebaseAuth.getInstance().getCurrentUser().getUid()).child("searching").setValue("0");
                FirebaseDatabase.getInstance().getReference().child("users").child(user.uid).child("searching").setValue("0");

                //send intent starter to notification

                //Intent intent = new Intent(MainActivity.this, action.class);
                // intent.putExtra(EXTRA_MESSAGE, message);
                // startActivity(intent);

0 个答案:

没有答案