2013-05-30 2 views
0

Как добавить событие календаря на уровне авиалинии Android больше 8?Как добавить событие календаря на уровне авиалинии Android больше 8?

ContentResolver cr = getContentResolver(); 
Cursor cursor = null; 
try{ 
    if(Build.VERSION.SDK_INT >= 8){ 
     cursor=cr.query(Uri.parse("content://com.android.calendar/reminders"), null, null, null, null); 
    }else { 
     cursor=cr.query(Uri.parse("content://calendar/reminders"), null, null, null, null); 
    } 

, но я получил указатель null в 8i-м уровне 10-го уровня, но он работает на api 4.2. Как получить этот курсор для событий календаря или напоминаний?

ответ

0

Из вашего вопроса и кода я не знаю, хотите ли вы фактически добавить событие календаря или запросить существующие события календаря. Если вы хотите добавить событие календаря, вы захотите использовать намерение. Например:

Intent calendarIntent = new Intent(Intent.ACTION_INSERT); 
calendarIntent.setType("vnd.android.cursor.item/event"); 
calendarIntent.putExtra(Events.TITLE, "the title"); 
calendarIntent.putExtra(Events.EVENT_LOCATION, "the location"); 
calendarIntent.putExtra(Events.DESCRIPTION, "some description"); 

calendarIntent.putExtra(CalendarContract.EXTRA_EVENT_BEGIN_TIME, start); 
calendarIntent.putExtra(CalendarContract.EXTRA_EVENT_END_TIME, end); 
startActivity(calendarIntent); 

Где «начало» и «конец» являются длинными значениями для представления даты.

+1

Я хочу добавить ot получить событие календаря на минимальном уровне api 8. для этого кода требуется минимум api 14. – Ronit

+0

Вы правы, мои извинения. Из того, что я понимаю, нет официального API до Honeycomb для добавления событий календаря. Даже если вы опубликовали URI, он может быть непоследовательным для всех устройств. Если вы найдете решение, мне было бы интересно узнать, что это такое. В моем собственном приложении, где я позволяю пользователям добавлять события в свой календарь, для более старых уровней API я просто отключил эту функцию. – Jon

Смежные вопросы