2011-11-25 37 views
14

Điều tôi muốn là ẩn danh bạ khỏi danh sách liên lạc. Vì vậy, để đạt được điều này tôi đã cố gắng rất nhiều và tìm kiếm rất nhiều. Cuối cùng tôi đã biết rằng chúng ta có thể tạo ra một nhóm vô hình và chúng ta có thể gán các liên lạc cho nhóm đó để các liên hệ sẽ không nhìn thấy được.Tạo nhóm liên lạc vô hình trong Android

Tôi đã thử điều đó, nhưng không thành công. Ngay cả khi tôi đặt trường GROUP_VISIBLE của ContactsContact.Group s, tôi không thể làm cho nhóm của mình ẩn đi.

Đây là những gì tôi đã cố gắng để tạo ra một nhóm vô hình:

ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>(); 

    ops.add(ContentProviderOperation 
      .newInsert(ContactsContract.Groups.CONTENT_URI) 
      .withValue(ContactsContract.Groups.GROUP_VISIBLE, 0) 
      .withValue(ContactsContract.Groups.TITLE, "InViGroup").build()); 
    try { 

     getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops); 

    } catch (Exception e) { 
     Log.e("Error", e.toString()); 
    } 

tôi có thể thêm địa chỉ liên lạc vào nhóm này nhưng địa chỉ liên lạc có thể nhìn thấy trong danh bạ điện thoại hoặc danh sách liên lạc.

Mục tiêu chính của tôi là ẩn liên hệ khỏi danh sách liên hệ. Bất kỳ ý tưởng? Làm cách nào để tôi có thể làm cho các liên hệ đã chọn của mình ẩn đi?

+0

Tôi muốn biết điều này là tốt. Tôi nghi ngờ một trong những vấn đề chính là GROUP_VISIBLE là một trường read_only. bạn đã tìm thấy bất kỳ cách nào khác để làm điều này? – Maurycy

+0

Tại sao bạn muốn thực hiện việc này? Tại sao không sử dụng cơ sở dữ liệu hoàn toàn riêng biệt cho những thứ bạn không muốn xuất hiện trong Danh sách liên hệ? –

+0

để tận dụng lợi thế của các tính năng liên hệ api như tổng hợp. Cũng cho phép mã ít hơn rất nhiều. – Maurycy

Trả lời

6

Maurycy, tôi đã chơi rất nhiều điều này để ẩn nó. Thậm chí tôi có thể tạo một nhóm với GROUP_VISIBLE để đặt đúng và sai cả hai. Nhưng bất cứ điều gì tôi đặt cho dù địa chỉ liên hệ đúng hay sai tôi vẫn được hiển thị cho ứng dụng danh bạ để cuối cùng tôi đã tạo cơ sở dữ liệu danh bạ của riêng mình duy trì trong ứng dụng của riêng tôi.

Khó khăn hơn là chỉ tạo nhóm và danh bạ vô hình trong đó vì bạn phải duy trì từng trường và bảng liên quan đến cơ sở dữ liệu của ứng dụng danh bạ. Vì vậy, nếu bạn đã tìm thấy một cách để làm cho nó vô hình xin vui lòng cho tôi biết. Tuy nhiên, nếu bạn muốn bảo mật như không ai có thể truy cập hoặc làm cho nó hiển thị thông qua mã quá tôi nghĩ bạn nên đi với việc tạo ra phương pháp cơ sở dữ liệu của riêng bạn mà tôi đã chọn làm tùy chọn cuối cùng của tôi.

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