gpt4 book ai didi

android - 在 Android Xamarin 中使用我的日历的权限

转载 作者:行者123 更新时间:2023-11-29 00:09:01 25 4
gpt4 key购买 nike

我想在我用 Xamarin 制作的安卓应用程序中向我的日历添加一个事件。但我不断收到错误消息“需要 android.permission.READ_CALENDAR 或 android.permission.WRITE_CALENDAR”。有人可以帮我吗?这是我的代码......谢谢!!!

    using System;
using MyApp;
using MyApp.Droid;

using Android.Content;
using Android.Provider;
using Xamarin.Forms;


[assembly: Xamarin.Forms.Dependency (typeof (CalendarManager))]

namespace MyApp.Droid
{
public class CalendarManager : ICalendarManager
{
public CalendarManager () {}

//public const string WRITE_CALENDAR = "android.permission.WRITE_CALENDAR";
//public const string READ_CALENDAR = "android.permission.READ_CALENDAR";


//android.permission.WRITE_CALENDAR

public void SaveEvent(DateTime start, DateTime end, string title, string notes, string location, bool allday)
{

ContentValues eventDetails = new ContentValues();

eventDetails.Put (CalendarContract.Events.InterfaceConsts.Dtstart, start.ToUniversalTime ().ToString ());
eventDetails.Put (CalendarContract.Events.InterfaceConsts.Dtend, end.ToUniversalTime ().ToString ());
eventDetails.Put(CalendarContract.Events.InterfaceConsts.Title, title);
eventDetails.Put(CalendarContract.Events.InterfaceConsts.EventLocation, location);
eventDetails.Put(CalendarContract.Events.InterfaceConsts.AllDay, allday);


eventDetails.Put(CalendarContract.Events.InterfaceConsts.EventTimezone, "UTC");
eventDetails.Put(CalendarContract.Events.InterfaceConsts.EventEndTimezone, "UTC");

var ctx = Forms.Context;
ctx.ContentResolver.Insert(CalendarContract.Events.ContentUri, eventDetails);
}
}
}

最佳答案

AndroidManifest.xml ,您必须声明您的应用需要哪些权限,以便 Android 可以在用户安装该应用时通知用户。

设置读取日历和写入日历权限应该可以解决您的问题。

关于android - 在 Android Xamarin 中使用我的日历的权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31593048/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com