【问题标题】:Android calendar warning of API levelAPI级别的Android日历警告
【发布时间】:2014-01-10 00:21:19
【问题描述】:

我正在开发一个应用程序,我正在使用以下代码设置提醒

// Creation of Event.
ContentValues eventValues = new ContentValues();
// Set calendar as 1 for default calendar.
eventValues.put(Events.CALENDAR_ID, 1);
// Set title as user define.
eventValues.put(Events.TITLE, "Reminder");
// Set description as user define.
eventValues.put(Events.DESCRIPTION, "You set the reminder.");
// Set location as user define.
eventValues.put(Events.EVENT_TIMEZONE, "India");
// Set start time as system time or time converted in milliseconds.
eventValues.put(Events.DTSTART, startMillis);
// Set status of event as 1.
eventValues.put("eventStatus", 1);
// Set visibility of event as 3 (public).
eventValues.put("visibility", 3);
// Set transparency as 0. No other app seen through reminder.
eventValues.put("transparency", 0);
// Set alarm as 1. Ringing.
eventValues.put(Events.HAS_ALARM, 1);

// Set Event in calendar.
Uri eventUri = getContentResolver().insert(Uri.parse(eventUriString), eventValues);
// Getting ID of event in Long.
long eventID = Long.parseLong(eventUri.getLastPathSegment());

/***************** Event: Reminder(with alert) Adding reminder to event *******************/
// String to access default google calendar of device for reminder setting.
String reminderUriString = "content://com.android.calendar/reminders";      
ContentValues reminderValues = new ContentValues();

// Set reminder on Event ID.
reminderValues.put("event_id", eventID);
// Set reminder minute before.
reminderValues.put("minutes", 10);
// Set method of reminder
reminderValues.put("method", 1);        

@SuppressWarnings("unused")
//Setting reminder in calendar on Event.
Uri reminderUri = getContentResolver().insert(Uri.parse(reminderUriString), reminderValues);

但问题是我收到警告

Field requires API level 14 (current min is 8): android.provider.CalendarContract.Events#CALENDAR_ID

如果我更改了问题得到解决

<uses-sdk
    android:minSdkVersion="14"
    android:targetSdkVersion="18" />

但我想开发我的应用程序

android:minSdkVersion="8"

我该怎么做,请建议我。我应该如何解决警告?以及警告会对我的应用产生什么影响。

【问题讨论】:

    标签: android calendar warnings android-calendar


    【解决方案1】:

    以编程方式检查 build.version,然后将 api 级别 14 的代码放入 if 条件中。

    因此您不必在 ma​​nifest xml 中执行此操作,因此您可以在最低版本的设备上运行代码。

    if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.ICE_CREAM_SANDWICH) {
    
        put the code for api level 14
    
        }
    

    【讨论】:

    • 如果我将您的建议放在我的代码中,那么它是否为 API 级别 8 设置了提醒?
    • CalenderContract 仅适用于 api 级别 14 及以上。因此您不能在较低级别使用它。
    猜你喜欢
    • 2018-10-26
    • 1970-01-01
    • 1970-01-01
    • 2014-10-23
    • 2019-11-22
    • 2016-04-04
    • 2013-01-16
    • 2018-12-30
    • 1970-01-01
    相关资源
    最近更新 更多