无法获取详细信息的联系人无法获取Firebase数据库的联系人

时间:2018-06-29 09:41:22

标签: android firebase firebase-realtime-database

我想从个人用户获取联系人到Firebase数据库 我引用了这篇文章android get all contacts  我宣布将其获取到Firebase数据库的联系人,即使它无法获取联系人,我也宣布了清单中的Internet权限,将Firebase控制台设置为允许其写入Firebase数据库以及添加的Firebase数据库,以下代码为代码

    public class MainActivity extends AppCompatActivity {

ProgressDialog dialog;

DatabaseReference yourReference;  

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    yourReference = FirebaseDatabase.getInstance().getReference().child("users");
    setContentView(R.layout.activity_your);
    dialog = new ProgressDialog(this);
    dialog.setMessage("Uploading contacts...");

    Cursor contacts = getContentResolver().query(
            ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
            new String[]{
                    ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME,
                    ContactsContract.CommonDataKinds.Phone.NUMBER
            },
            null,
            null,
            null
    );



    HashMap<String,Object> map = new HashMap<>();


    if(contacts!=null) {
        while(contacts.moveToNext()){
            map.put(
                    contacts.getString(contacts.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME)),
                    contacts.getString(contacts.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER))
            );
        }
        contacts.close();
    }

    dialog.show();

    yourReference.updateChildren(map)

            .addOnSuccessListener(new OnSuccessListener<Void>() {
                @Override
                public void onSuccess(Void aVoid) {
                    dialog.dismiss();
                    Toast.makeText(YourActivity.this, "Contacts uploaded suffessfully!", Toast.LENGTH_SHORT).show();
                }
            })

    .addOnFailureListener(new OnFailureListener() {
        @Override
        public void onFailure(@NonNull Exception e) {
            dialog.dismiss();
            Log.w("MKN","Error: "+e.getMessage());
            Toast.makeText(YourActivity.this, "Contacts upload failed.", Toast.LENGTH_SHORT).show();
        }
    });
}
}

0 个答案:

没有答案