Mục tiêu của tôi là chỉ hiển thị danh bạ có số điện thoại cho người dùng và cho phép người dùng chọn vài địa chỉ liên hệ mà tôi muốn lưu trữ cục bộ.Chỉ hiển thị danh bạ bằng số điện thoại sử dụng mục đích ACTION_PICK trong thiết bị Android
Tôi đã sử dụng các tùy chọn khác nhau thay cho ContactsContract.Contacts.CONTENT_URI theo phương thức bên dưới. Nhưng tôi nhận được rất nhiều địa chỉ liên lạc (nhiều người là rác chỉ với id email) được hiển thị.
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.contact_selector);
((Button)findViewById(R.id.btnphonecontactlist)).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent contactIntent = new Intent(Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI);
startActivityForResult(contactIntent, 1);
}
});
}
Nếu tôi vượt qua ContactsContract.Contacts.CONTENT_URI như tham số cho phương pháp trên và trong trường hợp dưới đây phương pháp xử lý nào, String [] cho phương pháp truy vấn như các thông số dự báo (được hiển thị nhận xét), phương pháp này không thành công với java.lang.IllegalArgumentException. Nếu tôi vượt qua null trong phương thức dưới đây, thì bất kỳ liên hệ nào tôi chọn, tôi không tìm thấy bất kỳ cột nào liên quan đến số điện thoại hoặc email.
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if(data != null)
{
Uri uri = data.getData();
if(uri != null)
{
Cursor c = null;
try
{
c = getContentResolver().query(uri, null
// new String[] {
//ContactsContract.CommonDataKinds.Phone.NUMBER,
//ContactsContract.CommonDataKinds.Phone.TYPE},
, null, null, null);
if(c != null && c.moveToFirst())
{
String number = c.getString(0);
String type = c.getString(1);
}
}
finally
{
if(c != null && !c.isClosed())
c.close();
}
}
}
}
Có cách nào để chỉ hiển thị liên hệ hiển thị với người dùng thường khi người dùng truy cập danh bạ và số điện thoại có sẵn không?
Tôi đã cố gắng xem xét tất cả các luồng trong stackoverflow và các trang web khác, nhưng không thể tìm thấy giải pháp nào giải quyết vấn đề xung quanh điều này mặc dù nhiều người đã đăng sự cố. Tôi đã không làm việc nhiều với nền tảng Android và tôi có thể đã bỏ lỡ một số chi tiết nhỏ nhất định và tôi tin rằng phải có một cách dễ dàng để đạt được điều này.
Vui lòng đề xuất. Đánh giá cao sự giúp đỡ của bạn.
Cảm ơn.
đã ans tôi giúp? –