Androidで非表示の連絡先グループを作成する

私が望むのは、連絡先を連絡先リストから隠すことです。 だからこれを達成するために私はたくさんのことを試み、多くを探しました。最後に、私たちが不可視のグループを生成できることを知り、そのグループに連絡先を割り当てて、連絡先が見えなくなるようにします。

私はそれを試みたが、成功しなかった。 ContactsContact.Group GROUP_VISIBLE フィールドを設定しても、グループを非表示にすることはできません。

これは私が目に見えないグループを作ることを試みたものです:

ArrayList ops = new ArrayList();

    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());
    }

このグループに連絡先を追加できますが、連絡先は電話帳または連絡先リストに表示されます。

私の主な目標は連絡先リストから連絡先を非表示にすることです。何か案は?選択した連絡先を非表示にするにはどうすればよいですか?

14
なぜあなたはこれをしたいのですか?連絡先リストに表示したくないもののために全く別のデータベースを使用してみませんか?
追加された 著者 Reuben Scratton,
私もこれを知りたいです。私は、主な問題の1つが、GROUP_VISIBLEがread_onlyフィールドであることを疑う。これを行うための代替手段が見つかりましたか?
追加された 著者 Maurycy,
アグリゲーションなどの連絡先API機能を利用できます。また、コードを大幅に少なくすることができます。
追加された 著者 Maurycy,

2 答え

Maurycy、私はそれを見えなくするためにこれをたくさんしました。私はGROUP_VISIBLEを持つグループを作成して、両方ともtrueとfalseを設定することができます。しかし、私が真か偽かを設定しても、私が加えた連絡先は連絡先アプリにはまだ見えるので、私は独自のアプリケーションで連絡先を保持する自分のデータベースを作成しました。

連絡先アプリのデータベースに関連するすべてのフィールドとテーブルを維持する必要があるので、不可視のグループと連絡先を作成するだけでは困難です。だからあなたが見えないようにする方法を見つけたら、私に知らせてください。

それでも誰もアクセスできない、またはコードで可視化できるようにするセキュリティが必要な場合は、最後のオプションとして選択した独自のデータベースメソッドを作成する必要があります。

6
追加された

I found a question here on SO where the person asking it has a code to add contacts that seems to make them invisible: Contact API storing contact as an invisible contact: How to make it visible?

0
追加された