我想从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
有人可以给我一些暗示我的查询有什么问题,非常感谢。
祝你好运, 约翰尼
答案 0 :(得分:3)
我运行了你的代码,似乎工作正常。
这是输出屏幕截图,SGS 2.3.3
这是屏幕截图: