Java 从Android Wear上的日历获取数据

Java 从Android Wear上的日历获取数据,java,android,wear-os,android-calendar,Java,Android,Wear Os,Android Calendar,我像这样查询日历数据: // 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 = S

我像这样查询日历数据:

// 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();
}
该代码可在移动设备上运行,但在磨损设备上运行时,似乎没有数据

我发现了一个
WaerableCalendarContract
,但它似乎不包含我用来填充mColumns类以选择所需数据的
Events


我怎样才能在穿戴上实现同样的功能?

我认为您必须手动将数据同步到穿戴应用程序,即从手机上的
内容提供商
获取数据,然后通过
数据项API
将数据发送到
可穿戴设备
。阅读有关在phonewear之间同步数据的更多信息。

WearableCalendarContract
描述了一个24小时长的日历数据窗口(从当前时间开始)。您在那里看不到事件,因为我们传输对象。正如您在
实例
的基本界面中所看到的,它也包含
事件
列,因此您应该能够从中获取所需的数据


如果您需要超过24小时的数据,您需要自己同步数据。在手机上查询日历,然后为您感兴趣的每个事件构建一个
DataItem
。这有点棘手,因此我建议改用WearableCalendarContract。

因此我假设
WearableCalendarContract
会一直自动同步?是的,每当日历更改时,我们都会同步数据。例外情况是与会者,将限制为每小时一次。嗨!你能给我指一个演示如何使用WearableCalendarContract的示例应用程序吗?当我尝试在wearOS emulator上使用上述契约时,契约始终返回0值。对不起,我已经多年没有在Android Wear上工作了:(你需要查看官方文档。