2017-04-11 63 views
0

即時通訊使用CalendarView和IM試圖設置日曆用戶上的事件。 該應用程序用Intent打開日曆手機,用戶可以設置活動的時間,標題和位置。 我唯一的問題是,我不知道如何使用它。 我應該使用OnDateChangeListener還是Onclick? 我試圖做的是獲取用戶設置的參數,並在他的日曆上打開事件。Android CalendarView設置事件

我使用這個代碼

public void addEvent(String title,String location, long begin, long end) { 
    Intent intent = new Intent(Intent.ACTION_INSERT) 
      .setData(CalendarContract.Events.CONTENT_URI) 
      .putExtra(CalendarContract.Events.TITLE, title) 
      .putExtra(CalendarContract.Events.EVENT_LOCATION, location) 
      .putExtra(CalendarContract.EXTRA_EVENT_BEGIN_TIME, begin) 
      .putExtra(CalendarContract.EXTRA_EVENT_END_TIME, end); 
    if (intent.resolveActivity(getPackageManager()) != null) { 
     startActivity(intent); 
    } 
} 

此外,我想知道什麼是「長開始」和「長尾」的意思? 這是用戶輸入?

我希望我很清楚。

+0

的開始和結束時間也添加這些權限。 –

+0

你知道我如何從用戶那裏獲得這些輸入嗎? –

+0

爲此,您必須創建UI以獲取開始時間和結束時間。 使用時間選擇器 –

回答

0

您可以添加以下

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

這裏開始時間和結束時間爲您設置了事件提醒的開始和結束時間使用的代碼的事件。

在事件中的長(毫秒)清單

<uses-permission android:name="android.permission.READ_CALENDAR" /> 
<uses-permission android:name="android.permission.WRITE_CALENDAR" /> 
+0

出於某種原因,我不能添加** Calendar cal = Calendar.getInstance(); **我應該導入的東西? –

+0

它帶有java.lang.Object導入。您不必添加任何外部庫。 – fightingCoder

+0

好吧,我明白了,但仍然代碼行不工作。 **日曆卡爾=新日曆(); **的作品 –