Android 无法插入新日历,因为内容值中存在IllegalArgumentException

Android 无法插入新日历,因为内容值中存在IllegalArgumentException,android,calendar,android-contentprovider,android-calendar,Android,Calendar,Android Contentprovider,Android Calendar,我想在日历提供程序中插入本地日历。以下是我的工作: Uri uri = asSyncAdapter(CalendarContract.Calendars.CONTENT_URI, "Test", CalendarContract.ACCOUNT_TYPE_LOCAL); ContentValues values = new ContentValues(); values.put(CalendarContract.Calendars.NAME, "Test");

我想在
日历提供程序
中插入本地日历。以下是我的工作:

Uri uri = asSyncAdapter(CalendarContract.Calendars.CONTENT_URI, "Test", CalendarContract.ACCOUNT_TYPE_LOCAL);

        ContentValues values = new ContentValues();

        values.put(CalendarContract.Calendars.NAME, "Test");
        values.put(CalendarContract.Calendars.CALENDAR_DISPLAY_NAME, "Test Calendar (Added Programmatically)");
        values.put(CalendarContract.Calendars.CALENDAR_COLOR, 0x00FF00);
        values.put(CalendarContract.Calendars.CALENDAR_ACCESS_LEVEL, CalendarContract.Calendars.CAL_ACCESS_OWNER);
        values.put(CalendarContract.Calendars.OWNER_ACCOUNT, "Test");

Uri insertUri = getContentResolver().insert(uri, values);
此方法是从开发人员处复制的:

static Uri asSyncAdapter(Uri uri, String account, String accountType) {
    return uri.buildUpon()
            .appendQueryParameter(android.provider.CalendarContract.CALLER_IS_SYNCADAPTER, "true")
            .appendQueryParameter(CalendarContract.Calendars.ACCOUNT_NAME, account)
            .appendQueryParameter(CalendarContract.Calendars.ACCOUNT_TYPE, accountType).build();
}
然而,我为name列输入了值,我得到了一个类似的异常:

java.lang.IllegalArgumentException: the name must not be empty: null

我怎样才能解决这个问题?

我发现了问题。我必须为帐户名和帐户类型显式输入值:

values.put(CalendarContract.Calendars.ACCOUNT_NAME, "Test");
values.put(CalendarContract.Calendars.ACCOUNT_TYPE, CalendarContract.ACCOUNT_TYPE_LOCAL);

我发现了问题。我必须为帐户名和帐户类型显式输入值:

values.put(CalendarContract.Calendars.ACCOUNT_NAME, "Test");
values.put(CalendarContract.Calendars.ACCOUNT_TYPE, CalendarContract.ACCOUNT_TYPE_LOCAL);

为什么要否决投票?没有留下评论?为什么否决投票?没有留下评论?