2012-08-23 43 views
5

Bạn có thể chọn từ danh bạ chỉ với số điện thoại/s sử dụng mục đích và ứng dụng danh bạ mặc định không?Ý định cho các số liên lạc có số điện thoại

Có lẽ một số sửa đổi này (cho thấy lựa chọn từ tất cả các địa chỉ liên lạc):

Intent intent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI); 
startActivityForResult(intent, CONTACT_PICKER_ID); 

Trả lời

7
Intent intent = new Intent(Intent.ACTION_PICK, Contacts.CONTENT_URI); 
intent.setType(ContactsContract.CommonDataKinds.Phone.CONTENT_TYPE); 
startActivityForResult(intent, 1); 
3

Bạn có thể mở một con trỏ trên danh bạ và chạy qua nhận được liên lạc với số điện thoại. Bạn có thể tái hoạt động chọn tiếp xúc được hiển thị từ mục đích mà bạn đề cập sử dụng con trỏ này (ném chúng vào một listview để chọn)

 ContentResolver cr = getContentResolver(); 
     Cursor phoneCur = cr.query( 
       ContactsContract.CommonDataKinds.Phone.CONTENT_URI, 
       null, 
       null, 
       null, 
       null); 
     while (phoneCur.moveToNext()) { 
      String phone = phoneCur.getString(
         phoneCur.getColumnIndex(
           ContactsContract.CommonDataKinds.Phone.DATA)); 
      //do something, check if empty... 
     } 
     phoneCur.close(); 

với cách tiếp cận này, bạn cũng sẽ cần sự cho phép đọc tiếp xúc trong bạn biểu lộ

<uses-permission android:name="android.permission.READ_CONTACTS"/> 
+0

Không chính xác một giải pháp mà tôi mong đợi. Nhưng tôi đoán không có cách nào khác, phải không? Vì vậy, tôi chấp nhận câu trả lời này, cảm ơn. –

+0

Xin lỗi, tôi không biết cách nào khác, nhưng tôi sẽ cập nhật nếu tôi tìm thấy. –

Các vấn đề liên quan