3

「メイン」情報をカレンダーインテントに渡すことができました...

ただし、参加者をインテントに追加しようとすると、参加者は挿入されません。ここにコードがあります

        startCalIntent =  new Intent(Intent.ACTION_EDIT);
        startCalIntent.setType("vnd.android.cursor.item/event");

        startCalIntent.putExtra(Events.TITLE, title);
        startCalIntent.putExtra(Events.EVENT_LOCATION, location);
        startCalIntent.putExtra(Events.DESCRIPTION, details);
        startCalIntent.putExtra(Events.ORGANIZER, organiser);
        startCalIntent.putExtra(CalendarContract.EXTRA_EVENT_BEGIN_TIME, splitDateTime(date, startTime));
        startCalIntent.putExtra(CalendarContract.EXTRA_EVENT_END_TIME, splitDateTime(date, endTime));
        startCalIntent.putExtra(Events.EVENT_TIMEZONE, "Europe/London");


        startCalIntent.putExtra(Attendees.HAS_ATTENDEE_DATA, "1"); 
        startCalIntent.putExtra(Attendees.ATTENDEE_NAME, "DAVE");//<---NOT WORKING

        startActivity(startCalIntent);
4

2 に答える 2

1

イベントの作成中に出席者を追加することはできません。残りの人数や出席者を追加するなど、イベントの別の更新を続行するには、Event_ID が必要です。

注: この例では、イベントの作成後にイベント ID がどのように取得されるかを確認してください。これは、イベント ID を取得する最も簡単な方法です。予定に出席者やリマインダーを追加するなど、他のカレンダー操作を実行するために、予定 ID が必要になることがよくあります。

ソース: Android デベロッパー

Android 開発者で提供されているこのコードを使用できます。

long eventID = 202;
...
ContentResolver cr = getContentResolver();
ContentValues values = new ContentValues();
values.put(Attendees.ATTENDEE_NAME, "Trevor");
values.put(Attendees.ATTENDEE_EMAIL, "trevor@example.com");
values.put(Attendees.ATTENDEE_RELATIONSHIP, Attendees.RELATIONSHIP_ATTENDEE);
values.put(Attendees.ATTENDEE_TYPE, Attendees.TYPE_OPTIONAL);
values.put(Attendees.ATTENDEE_STATUS, Attendees.ATTENDEE_STATUS_INVITED);
values.put(Attendees.EVENT_ID, eventID);
Uri uri = cr.insert(Attendees.CONTENT_URI, values);

それが役立つことを願っています。

于 2016-06-07T09:57:30.010 に答える