Calendar SyncAdapter :: Only sync adapters may write to account_name

左手的ㄟ右手 2022-08-09 00:42 59阅读 0赞

在做Calendar SyncAdapter的时候

往Calendar表中插入Account

往Event表中插入 _sync_id

的时候 遇到这种错误:

Only sync adapters may write to account_name

Only sync adapters may write to _sync_id

解决方法是在

Calendars.CONTENT_URI

Events.CONTENT_URI

后面追加上

(CalendarContract.CALLER_IS_SYNCADAPTER, “true”)

具体代码为:

  1. public static Uri asSyncAdapter(Uri uri, String accountName, String accountType) {
  2. return uri.buildUpon()
  3. .appendQueryParameter(CalendarContract.CALLER_IS_SYNCADAPTER, "true")
  4. .appendQueryParameter(Calendars.ACCOUNT_NAME, accountName)
  5. .appendQueryParameter(Calendars.ACCOUNT_TYPE, accountType).build();
  6. }

accountName & accountType 是与账户相关的数据

如果完成了账户的管理

这两个值很容易得到。

发表评论

表情:
评论列表 (有 0 条评论,59人围观)

还没有评论,来说两句吧...

相关阅读