从 Android Wear 上的日历获取数据

Getting data from calendar on Android Wear

我正在这样查询日历数据:

// 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 class 到 [=] 的 Events class 26=] 想要的数据。

如何在 Wear 上执行相同的操作?

我认为您必须手动将数据同步到 Wear 应用程序,a.k.a 从 phone 上的 ContentProvider 获取数据,然后将其发送到 wearable 通过 DataItem API。阅读有关在 phone<->wear HERE.

之间同步数据的更多信息

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

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