2015-05-29 90 views
1

此事件已在我的Google日历中创建,但未按照代码给出通知。它应该在活动开始时发出通知。在代码中提到的所有条目都会在日历中被反思,事件已创建,日历显示为alrm:在事件发生时,但它仍未发出通知。 请帮我一下吗?日历提醒没有在事件发生之前/之前发送通知

public long MyCalendar() { 
     long calID = 1; 
     long startMillis = 0; 
     long endMillis = 0; 
     Calendar beginTime = Calendar.getInstance(); 
     beginTime.set(2015, 4, 29, 10, 51); 
     startMillis = beginTime.getTimeInMillis(); 
     Calendar endTime = Calendar.getInstance(); 
     endTime.set(2015, 4, 29, 8, 45); 
     endMillis = endTime.getTimeInMillis(); 
     String eventUriStr = "content://com.android.calendar/events"; 


     ContentResolver cr = getContentResolver(); 
     ContentValues values = new ContentValues(); 

     values.put(CalendarContract.Events.TITLE, "My party1"); 
     values.put(CalendarContract.Events.DESCRIPTION, "surprise party"); 
     values.put(CalendarContract.Events.CALENDAR_ID, calID); 
     TimeZone tz = TimeZone.getDefault(); 
     values.put(CalendarContract.Events.EVENT_TIMEZONE,tz.getID()); 
     values.put(CalendarContract.Events.DTSTART, startMillis); 
     values.put(CalendarContract.Events.DTEND, endMillis); 
     Uri uri = cr.insert(Uri.parse(eventUriStr), values); 

     long eventID = Long.parseLong(uri.getLastPathSegment()); 

     return eventID; 
    } 


    **And In onCreate() method of MainActivity, I am calling MyCalendar()** 

     protected void onCreate(Bundle savedInstanceState) { 
       super.onCreate(savedInstanceState); 
       setContentView(R.layout.activity_main); 
     long event_id1= MyCalendar(); 
       ContentResolver cr1 = getContentResolver(); 
       ContentValues values = new ContentValues(); 
       values.put(CalendarContract.Reminders.MINUTES, 0); 
       values.put(CalendarContract.Reminders.EVENT_ID, event_id1); 
       values.put(CalendarContract.Reminders.METHOD, CalendarContract.Reminders.METHOD_ALERT); 
       MainActivity.this.getContentResolver().insert(CalendarContract.Reminders.CONTENT_URI, values); 
     } 
+0

后堆栈跟踪,请... –

+0

它没有给予任何错误@ursgtm – Baqir

+0

你BEGINTIME晚于结束时间。 – Arst

回答

0

我有同样的问题。我注意到,如果给出0值:values.put(CalendarContract.Reminders.MINUTES, 0); 将不会有通知。如果您给出0以外的任何一个,那么通知就会出现。

values.put(CalendarContract.Reminders.MINUTES, 1);

+0

我的开始时间晚于结束时间。我改变它,它的工作正常。 – Baqir

相关问题