检查日历是否为主要日历

时间:2014-09-16 13:47:39

标签: android android-calendar

我用以下内容检索所有日历:

    Cursor cursor = getContentResolver().query(Uri.parse("content://com.android.calendar/calendars"),
            null, null, null, null);

光标包含我使用的所有日历。 根据{{​​3}},光标应包含一个列,指示日历是否是用户的主日历。 然而

cursor.getColumnIndex("isPrimary"); 

返回-1

任何想法我做错了什么?

2 个答案:

答案 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,如果是,我使用上面的名称作为列。

我仍然不知道为什么会发生这种情况,但在某些设备的实现中似乎缺少别名。