Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android日历在10分钟后删除日历和事件_Java_Android_Calendar_Android Calendar_Android Event - Fatal编程技术网

Java Android日历在10分钟后删除日历和事件

Java Android日历在10分钟后删除日历和事件,java,android,calendar,android-calendar,android-event,Java,Android,Calendar,Android Calendar,Android Event,我一直在开发一款涉及制作活动的应用程序。我已经成功地在Android上的默认日历上创建了一个日历,并且我能够在此日历上添加、删除或更新事件。然而,我注意到我创建的日历大约在10分钟左右被自动删除。这可能是S planner(默认日历)或Google日历的问题吗?这是我制作日历的方式: Uri target = Uri.parse(CalendarContract.Calendars.CONTENT_URI.toString()); target = target.buildUpo

我一直在开发一款涉及制作活动的应用程序。我已经成功地在Android上的默认日历上创建了一个日历,并且我能够在此日历上添加、删除或更新事件。然而,我注意到我创建的日历大约在10分钟左右被自动删除。这可能是S planner(默认日历)或Google日历的问题吗?这是我制作日历的方式:

    Uri target = Uri.parse(CalendarContract.Calendars.CONTENT_URI.toString());
    target = target.buildUpon().appendQueryParameter(CalendarContract.CALLER_IS_SYNCADAPTER, "true")
            .appendQueryParameter(CalendarContract.Calendars.ACCOUNT_NAME, accountName)
            .appendQueryParameter(CalendarContract.Calendars.ACCOUNT_TYPE, Utils.APP_PACKAGE).build();


    ContentValues values = new ContentValues();
    values.put(CalendarContract.Calendars._ID, MY_CALENDAR_ID);
    values.put(CalendarContract.Calendars.ACCOUNT_NAME, accountName);
    values.put(CalendarContract.Calendars.ACCOUNT_TYPE, Utils.APP_PACKAGE);
    values.put(CalendarContract.Calendars.NAME, "TBDAppName (" + accountName + ")");
    values.put(CalendarContract.Calendars.CALENDAR_DISPLAY_NAME, Utils.APP_PACKAGE);
    values.put(CalendarContract.Calendars.CALENDAR_COLOR, 0x00FF00);
    values.put(CalendarContract.Calendars.CALENDAR_ACCESS_LEVEL, CalendarContract.Calendars.CAL_ACCESS_READ);
    values.put(CalendarContract.Calendars.OWNER_ACCOUNT, accountName);
    values.put(CalendarContract.Calendars.VISIBLE, 1);
    values.put(CalendarContract.Calendars.SYNC_EVENTS, 1);

    context.getContentResolver().insert(target, values);
这就是我插入事件的方式:

   long startMillis = 0;
   long endMillis = 0;
   Calendar beginTime = Calendar.getInstance();
   beginTime.set(2018, 01, 01, 7, 30);  //random time to test inserting.
   startMillis = beginTime.getTimeInMillis();
   ContentValues values = new ContentValues();
   values.put(Events.CALENDAR_ID, MY_CALENDAR_ID);
   values.put(Events._ID, MY_EVENT_ID);
   values.put(Events.TITLE, MY_EVENT_TITLE);
   values.put(Events.DESCRIPTION, "test description");
   values.put(Events.DTSTART, startMillis);
   values.put(Events.DTEND, startMillis);
   values.put(Events.CALENDAR_ID, MY_CALENDAR_ID);
   TimeZone timeZone = TimeZone.getDefault();
   values.put(Events.EVENT_TIMEZONE, timeZone.getID());
   context.getContentResolver().insert(Events.CONTENT_URI, values);

创建日历时,必须将其设置为
帐户\类型\本地
,否则内容将被删除。这在下文中描述

公共静态最终字符串帐户\u类型\u本地

日历的特殊帐户类型不是 与任何帐户关联。通常情况下,日历与 将删除设备上的帐户。在服务器上设置帐户类型 如果日历不匹配,则此日历将阻止其被擦除 现有帐户


创建日历时,必须将其设置为
帐户\类型\本地
,否则内容将被删除。这在下文中描述

公共静态最终字符串帐户\u类型\u本地

日历的特殊帐户类型不是 与任何帐户关联。通常情况下,日历与 将删除设备上的帐户。在服务器上设置帐户类型 如果日历不匹配,则此日历将阻止其被擦除 现有帐户