5

我已经检索到值 1234,现在我需要获取它的父级我正在使用 Firebase 作为后端在 android 中构建一个简单的聊天应用程序。

ref3.addValueEventListener(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot snapshot) {
                Map<String, Object> users = (Map<String, Object>) snapshot.getValue();
                System.out.println(users.values().toString());
                Set s = users.entrySet();
                Iterator itr = s.iterator();
                while (itr.hasNext()) {
                    Map.Entry m = (Map.Entry) itr.next();
                    m.getKey();
                    String myval = m.getValue().toString();
                    String spmyval[] = myval.split(", ");

                    System.out.println(spmyval[0] + " <-sp0 sp1-> " + spmyval[1]);
                    list=new ArrayList();

                    a1 = spmyval[0].split("=");

                    Cursor cur = getContentResolver().query(
                            ContactsContract.Contacts.CONTENT_URI, null, null, null, null);
                    if (cur.getCount() > 0) {
                        while (cur.moveToNext()) {

                            // read id
                            String id = cur.getString(cur
                                    .getColumnIndex(ContactsContract.Contacts._ID));
                            /** read names **/
                            displayName = cur
                                    .getString(cur
                                            .getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));

                            System.out.println("DISPLAYNAMESssss:!!!!!!!!!!!!!!"+displayName+"::::::::");


                            /** Phone Numbers **/
                            Cursor pCur = getContentResolver().query(
                                    ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
                                    null,
                                    ContactsContract.CommonDataKinds.Phone.CONTACT_ID
                                            + " = ?", new String[]{id}, null);


                            String typeStr = null;
                            int i=0;
                            while (pCur.moveToNext()) {

                                num = pCur
                                        .getString(pCur
                                                .getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
                                number1=new String[]{num};

                                Log.e("Number by pavan",i +" " + number1[i]);
                                typeStr = pCur
                                        .getString(pCur
                                                .getColumnIndex(ContactsContract.CommonDataKinds.Phone.TYPE));

                                if(a1[1].equals(number1[i].replaceAll("[^\\d.]", ""))) {
                                    Log.e("COMMON:", a1[1]);




                                    i++;
                                }
                            }

                            pCur.close();




                        }
                    }

我设置了注册页面,以便用户的联系方式存储在 UID 下(由 firebase 生成)。我已经使用上面的代码检索了常见的联系人。我要求用户向该公共号码发送推送消息。但是我无法找到一种方法来追溯该号码所属的 UID。我正在检索常用号码,以便获得正在使用我的应用程序的朋友列表。所以我很困惑是否应该硬编码或用 API 编写。如果有人有解决方案,请给我一个例子

4

0 回答 0