Android日历获取事件抛出IOException 404未找到 - 为什么?

时间:2018-03-05 18:12:44

标签: android-calendar

我已经为此工作了三天,而且我没有想法。 我经历了很多stackOverflow问题和答案。没人帮忙。 使用以下代码成功设置了我的日历:

com.google.api.client.http.HttpTransport x = AndroidHttp.newCompatibleTransport();
com.google.api.client.json.gson.GsonFactory gF = new GsonFactory();
calendar = new Calendar.Builder(x, gF, credential)
    .setApplicationName(getString(R.string.app_name))
    .build();

我知道日历服务没问题,因为我可以用它做很多事情,比如插入一个事件。 但是这个相当简单的代码抛出了一个未找到的IOException:

Event event = calendar.events().get("primary", eventId).execute();

我知道eventId是一个字符串,用于存储主日历中存在的事件。 为什么这段代码会抛出异常?我怎么能让它不扔呢?

1 个答案:

答案 0 :(得分:0)

我可能找到了自己的答案。我从查询中获取eventId “content://com.android.calendar/events”数据库表。 它有98列,我认为“_id”是事件ID。 它不是。似乎列“_sync_id”是事件ID。 语句:

 calendar.events().get("primary", eventId).execute();
当eventId来自列“_sync_id”时,

返回正确的Event对象。 也许有人可以确认“_sync_id”确实是正确使用的列。