Android 日历 illegalArgumentException

Android Calendar illegalArgumentException

我收到以下错误消息

illegalArgumentException:只有同步适配器可以写入 ownerAccount 使用

**this line:---** values.Put(CalendarContract.Calendars.InterfaceConsts.OwnerAccount, 
AccountOwner);
values.Put(CalendarContract.Calendars.InterfaceConsts.AccountName, AccountName);
values.Put(CalendarContract.Calendars.InterfaceConsts.Id, CalendarID);
values.Put(CalendarContract.Calendars.InterfaceConsts.Visible, 1);
values.Put(CalendarContract.Calendars.InterfaceConsts.SyncEvents, 1);
cr.Insert(CalendarContract.Calendars.ContentUri, values);

这怎么可能试过每个例子。 我从我的 OnActivityResult 中的 AccountPicker 中获取帐户名称,如

protected override void OnActivityResult(int requestCode, [GeneratedEnum] Result resultCode, Intent data)
{
    base.OnActivityResult(requestCode, resultCode, data);   

    if(requestCode == MyClass.RequestCode && resultCode == Result.Ok)
    {
        GSDEvents.AccountName = data.GetStringExtra(AccountManager.KeyAccountName);
        DependencyService.Get<MyClass>().AddCalendar(8, GSDFuncties.ApplicationName, MyClass.AccountName, MyClass.AccountName);
        Toast.MakeText(this, GSDEvents.AccountName, ToastLength.Long).Show();
    }


}

通过使用解决:

 calUri = calUri.BuildUpon()
    .AppendQueryParameter(CalendarContract.CallerIsSyncadapter, "true")
    .AppendQueryParameter(CalendarContract.Calendars.InterfaceConsts.AccountName, AccountName)
    .AppendQueryParameter(CalendarContract.Calendars.InterfaceConsts.AccountType, CalendarContract.AccountTypeLocal)
    .Build();

cr.Insert(calUri, values);