3

我正在尝试从 android 2.2 的联系方式中获取生日日期,有人可以帮我查询一下吗?

这是我的代码:

@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        TextView contactView = (TextView) findViewById(R.id.contactview);

        Cursor cursor = getContacts();
        while (cursor.moveToNext()) {

            String displayBirthday = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Event.START_DATE));
            contactView.append("Birthday: ");
            contactView.append(displayBirthday);
            contactView.append("\n");
        }

    }

    private Cursor getContacts() {
        // Run query
        Uri uri = ContactsContract.Data.CONTENT_URI;

        String[] projection = new String[] {
                ContactsContract.Contacts.DISPLAY_NAME,
                ContactsContract.CommonDataKinds.Event.CONTACT_ID,
                ContactsContract.CommonDataKinds.Event.START_DATE
        };

        String where =
                ContactsContract.Data.MIMETYPE + "= ? AND " +
                ContactsContract.CommonDataKinds.Event.TYPE + "=" + ContactsContract.CommonDataKinds.Event.TYPE_BIRTHDAY;
        String[] selectionArgs = new String[] {ContactsContract.CommonDataKinds.Event.CONTENT_ITEM_TYPE};
        String sortOrder = null;
        return managedQuery(uri, projection, where, selectionArgs, sortOrder);
    }

这段代码似乎有问题,我在屏幕上没有得到任何输出。

我已经添加了 AndroidManifest.xml

谁能给我一些提示我的查询有什么问题,非常感谢。

最好的问候,约翰尼

4

1 回答 1

3

我运行了你的代码,它似乎工作正常。

这是输出截图,SGS 2.3.3

这是屏幕截图:在此处输入图像描述

于 2011-10-17T08:54:38.837 回答