1

I am developing an application in which i am setting reminder using following code :

// 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);

But the issue is that i am getting warning as:

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

The issue get resolved if i changed the :

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

But i want to develop my application for

android:minSdkVersion="8"

What should i do for that, please suggest me. How should i resolve the warning? and what effect the warning can do on my app.

Manoj Fegde
  • 4,786
  • 15
  • 50
  • 95

1 Answers1

0

check programmatically the build.version and then put the code for the api level 14 inside the if condition.

so you don't have to do it in manifest xml,so you can run the code in minimum version devices.

if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.ICE_CREAM_SANDWICH) {

    put the code for api level 14

    }
Nambi
  • 11,944
  • 3
  • 37
  • 49