में एंड्रॉइड कैलेंडर एकीकरण मैं एंड्रॉइड ओएस 2.2 के लिए कैलेंडर इवेंट जोड़ने के लिए अनियंत्रित एपीआई का उपयोग करता हूं। अब एंड्रॉइड ओएस 4 बाहर है, स्वाभाविक रूप से एपीआई का इस्तेमाल मैं काम नहीं करता! मैंने स्तर 14 में कैलेंडर एपीआई के संबंध में एंड्रॉइड एसडीके को देखा लेकिन मुझे यह पता लगाने में सक्षम नहीं था कि मैंने अपने प्रोजेक्ट में इसका उपयोग कैसे किया है जिसे मैंने एंड्रॉइड ओएस 2.2 का उपयोग करके बनाया है। क्योंकि जब मैं अपनी परियोजना में CalendarContract
कक्षा का उपयोग करता हूं तो यह त्रुटि दिखाता है। इसलिए मैं अपने प्रोजेक्ट में इस क्लास का उपयोग करने के लिए सुराग नहीं ढूंढ पा रहा हूं कि मैंने एंड्रॉइड ओएस 2.2 का उपयोग करके बनाया है।एंड्रॉइड ओएस 4
यदि किसी के पास साझा करने के लिए कोई नमूने हैं या नमूने के लिए एक लिंक है, तो कृपया मुझे बताएं।
SDKVersion 8 के लिए कैलेंडर API कक्षा
public abstract class CalendarAPI
{
private static CalendarAPI api;
public static CalendarAPI getAPI()
{
String apiClass;
if (Integer.parseInt(Build.VERSION.SDK) > Build.VERSION_CODES.FROYO) {
apiClass = "com.example.calendar.CycleManagerSDK8 ";
} else {
apiClass = "com.example.calendar.CycleManagerSDK14 ";
}
try
{
Class<? extends CalendarAPI> realClass = Class.forName(apiClass).asSubclass(CalendarAPI.class);
api = realClass.newInstance();
}
catch (Exception e)
{
throw new IllegalStateException(e);
}
return api;
}
public abstract boolean setAlertOnDevice(Context c) ;
}
वर्ग - 13
public class CycleManagerSDK8 extends CalendarAPI
{
public boolean setAlertOnDevice(Context c)
{
Resources res = c.getResources();
Uri EVENTS_URI = Uri.parse("content://com.android.calendar/" + "events");
Uri REMINDERS_URI = Uri.parse("content://com.android.calendar/" + "reminders");
ContentResolver cr = c.getContentResolver();
Date dtStartDate = getStartDate();
Calendar cal = Calendar.getInstance();
cal.setTime(dtStartDate);
cal.add(Calendar.DATE, m_iStart);
cal.set(Calendar.HOUR_OF_DAY, 8);
cal.set(Calendar.MINUTE, DEFAULT_TIME_OF_DATE);
cal.set(Calendar.SECOND, DEFAULT_TIME_OF_DATE);
cal.set(Calendar.MILLISECOND, DEFAULT_TIME_OF_DATE);
String str = m_reminderText + res.getString(R.string.alert_start);
m_strDescription = res.getString(R.string.alert_start_msg);
ContentValues values = new ContentValues();
values.put("calendar_id", 1);
values.put("title", str);
values.put("description", m_strDescription);
values.put("dtstart", cal.getTimeInMillis());
values.put("dtend", cal.getTimeInMillis());
values.put("hasAlarm", 1);
Uri event = cr.insert(EVENTS_URI, values);
m_calendarEvents[m_calendarEventCount] = event;
m_calendarEventCount = m_calendarEventCount + 1;
values = new ContentValues();
values.put("event_id", Long.parseLong(event.getLastPathSegment()));
values.put("method", 1);
values.put("minutes", 10);
cr.insert(REMINDERS_URI, values);
}
}
वर्ग SDKVersion 14 के लिए
public class CycleManagerSDK14 extends CalendarAPI
{
public void setAlertOnDevice(Context c)
{
long startMillis = 0;
long endMillis = 0;
Calendar beginTime = Calendar.getInstance();
beginTime.set(2012, 2, 2, 7, 0);
startMillis = beginTime.getTimeInMillis();
Calendar endTime = Calendar.getInstance();
endTime.set(2012, 2, 2, 7, 0);
endMillis = endTime.getTimeInMillis();
ContentResolver cr = getContentResolver();
ContentValues values = new ContentValues();
values.put(CalendarContract.Events.DTSTART, startMillis);
values.put(CalendarContract.Events.DTEND, endMillis);
values.put(CalendarContract.Events.TITLE, "Walk The Dog");
values.put(CalendarContract.Events.DESCRIPTION, "My dog is bored, so we're going on a really long walk!");
values.put(CalendarContract.Events.CALENDAR_ID, 1);
values.put(CalendarContract.Events.EVENT_TIMEZONE, "eventTimezone");
cr.insert(CalendarContract.Events.CONTENT_URI, values);
}
}
धन्यवाद।
पीएल। अपनी त्रुटि या अपवाद – Vinay
कक्षा को कैलेंडरकंट्रैक्ट – Rahul