1

Google コンタクトまたは HTC Legend 携帯電話のユーザー アプリケーションで連絡先グループを見ると、グループ名が表示されます。例: 友人、家族、VIP、お気に入りなど...

しかし、私のアプリケーションでは、
「Family」が「System Group: Family」になり、
「Friends」が「System Group: Friends」になり、
「Favorite」が「Favorite_5656100000000_3245664334564」 になったなど、本当に間違った名前が表示されます。

以下のコードを使用してこれらの値を読み取ります。

public Cursor getFromSystem() {

        // Get the base URI for the People table in the Contacts content
        // provider.
        Uri contacts = ContactsContract.Groups.CONTENT_URI;
        // Make the query.
        ContentResolver cr = ctx.getContentResolver();
        // Form an array specifying which columns to return.
        String[] projection = new String[] {
                ContactsContract.Groups._ID, ContactsContract.Groups.TITLE,
                ContactsContract.Groups.NOTES
        };

        Cursor managedCursor = cr.query(contacts, projection, ContactsContract.Groups.DELETED
                + "=0", null, ContactsContract.Groups.TITLE + " COLLATE LOCALIZED ASC");
        return managedCursor;
    }

私は何が欠けていますか?

4

1 に答える 1

1

それはバグのように聞こえます。私のテスト用電話の 1 つには正しい/サニタイズされたタイトルが付いていますが、もう 1 つの電話にはそのタイプの間違ったタイトルが付いています。私はこれをここに提出します。

contacts2.dbまた、データベースを直接調べたところ、SYSTEM_ID列がサニタイズされているように見えましたが、表示目的で使用するのはおそらく安全ではありません.

于 2010-05-07T01:54:21.100 に答える