跳轉通訊錄選擇聯繫人

//權限判斷,判斷是否有讀取通訊錄權限
if (ActivityCompat.checkSelfPermission(this, Manifest.permission.READ_CONTACTS) != PackageManager.PERMISSION_GRANTED) {
    //請求通訊錄權限
    ActivityCompat.requestPermissions(activity, new String[]{Manifest.permission.READ_CONTACTS}, 0);
    return;
}
//跳轉通訊錄選擇聯繫人
Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI);
startActivityForResult(intent, REQUEST_CODE_CONTACTS);

//選擇聯繫人返回後數據解析
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    WlConfigure.isShowToast = true;
    switch (requestCode){
        case CommConfigure.REQUEST_CODE_CONTACTS:
            parseContacts(data);
            break;
    }
}
//數據解析
private void parseContacts(Intent data){
    if (data == null){return;}
    ContentResolver reContentResolverol = getContentResolver();
    Uri contactData = data.getData();
    Cursor cursor = managedQuery(contactData, null, null, null, null);
    cursor.moveToFirst();
    String username = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
    String contactId = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));
    Cursor phone = reContentResolverol.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
            null,
            ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = " + contactId,
            null,
            null);
    while (phone.moveToNext()) {
        String usernumber = phone.getString(phone.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
        Log.i("Phone_number", usernumber);
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章