我正在查询日历数据,如下所示:
// Constructor of the class
mCursor = context.getContentResolver().query(CalendarContract.Events.CONTENT_URI, mColumns, null, null, null);
updateEvents();
//contents of updateEvents:
events.clear();
mCursor.moveToFirst();
mLastUpdate = System.currentTimeMillis();
while (!mCursor.isAfterLast())
{
long end = mCursor.getLong(2);
if (end > mLastUpdate)
events.add(new Event(mCursor));
mCursor.moveToNext();
}
代码管理在移动设备上运行,但是当它在Wear设备上运行时,似乎没有数据。
我找到了WaerableCalendarContract
,但它似乎不包含我用来填充mColumns类以选择所需数据的Events
类。
我怎样才能在Wear上做同样的事情?
答案 0 :(得分:1)
WearableCalendarContract
描述了日历数据的24小时长窗口(从当前时间开始)。你没有在那里看到Event,因为我们传输了Instances
个对象。正如您在Instances
的基本界面中所看到的,它也包含Events
列,因此您应该能够从那里获取所需的数据。
如果您需要超过24小时的数据,则需要自行同步。在手机上查询日历,然后针对您感兴趣的每个事件,构建DataItem
。这有点棘手,所以我建议改用WearableCalendarContract。
答案 1 :(得分:0)
我认为您必须手动将数据同步到Wear应用,a.k.a从手机上的ContentProvider
获取数据,然后通过wearable
将其发送到DataItem API
。详细了解如何在手机之间同步数据< - >穿HERE。