我用以下内容检索所有日历:
Cursor cursor = getContentResolver().query(Uri.parse("content://com.android.calendar/calendars"),
null, null, null, null);
光标包含我使用的所有日历。 根据{{3}},光标应包含一个列,指示日历是否是用户的主日历。 然而
cursor.getColumnIndex("isPrimary");
返回-1
。
任何想法我做错了什么?
答案 0 :(得分:1)
我在一些手机上尝试了这个,似乎在某些手机上没有IS_PRIMARY列。所以你不应该依赖这个领域。它不能使用的手机是HTC Sensation XE。在Nexus手机(Galaxy Nexus和Nexus 5)上它出现了。
答案 1 :(得分:1)
我刚刚在使用Android 5.1.1的Google Nexus 7平板电脑上尝试过相同的操作。 结果是,游标中有一列没有isPrimary的别名。它的名字是
COALESCE(isPrimary,ownerAccount = account_name)
我现在正在检查isPrimary的列索引是否为-1,如果是,我使用上面的名称作为列。
我仍然不知道为什么会发生这种情况,但在某些设备的实现中似乎缺少别名。