2015-01-22 4 views
0

Я пытаюсь создать событие календаря проблематично. Ниже код - рабочий файл, но проблема заключается в том, когда я запускаю его поп-два календаря (com.android.calendar, com.google.android.calendar).Как создать событие, если у вас есть несколько календарей - Android

Как выбрать любой из них?

Calendar cal = Calendar.getInstance();    
     Intent intent = new Intent(Intent.ACTION_EDIT); 
     intent.setType("vnd.android.cursor.item/event"); 
     intent.putExtra("beginTime", cal.getTimeInMillis()); 
     intent.putExtra("allDay", true); 
     intent.putExtra("rrule", "FREQ=YEARLY"); 
     intent.putExtra("endTime", cal.getTimeInMillis()+60*60*1000); 
     intent.putExtra("title", "A Test Event from android app"); 
     startActivity(intent); 

ответ

0

Возможно, на устройстве установлено два приложения календаря, но обычно это не так, обычно у устройства есть одно приложение для календаря по умолчанию.

Я бы порекомендовал вам ничего не делать в этом состоянии по следующей причине.

1) Generally device having only one calendar app 
2) If you choose a particular calendar then the devices which not installed your specified calendar won't able to use you app. 
3) If person has installed two calendar let him decide which he want to use to add event, which is recommended by Google. 
+0

com.android.calendar, com.google.android.calendar оба Google календарь только то, что является причиной, я не могу понять это как чтобы справиться с этим. – user1362796

+0

Я могу предложить простое решение удалить один Календарь Google. Потому что, как правило, у людей нет двух календарей Google, вам ничего не нужно делать. – Dhananjay

+0

Это системное приложение .. думаю, мы также не можем удалить. – user1362796

0

Вы можете создать выборщик и разрешить пользователю выбирать, в каком календарном приложении они хотят сохранить событие.

Intent.createChooser(intent, "Choose Calendar"); 

Вы код с модификацией:

Calendar cal = Calendar.getInstance();    
Intent intent = new Intent(Intent.ACTION_EDIT); 
intent.setType("vnd.android.cursor.item/event"); 
intent.putExtra("beginTime", cal.getTimeInMillis()); 
intent.putExtra("allDay", true); 
intent.putExtra("rrule", "FREQ=YEARLY"); 
intent.putExtra("endTime", cal.getTimeInMillis()+60*60*1000); 
intent.putExtra("title", "A Test Event from android app"); 
startActivity(Intent.createChooser(intent, "Choose Calendar")); 
+0

@ user1362796 Это работало? – Proverbio

+0

Нет, поскольку оба имени календаря одинаковы. Когда я выполняю код Он говорит, что нет приложения :( – user1362796

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