0

私はこのコードを持っています

                Calendar cal = Calendar.getInstance();
                cal.set(Integer.parseInt(data_scelta_splittata[2]),Integer.parseInt(data_scelta_splittata[1]),Integer.parseInt(data_scelta_splittata[0]),Integer.parseInt(ora_scelta_splittata[0]),Integer.parseInt(ora_scelta_splittata[1]));
                Intent intent = new Intent(Intent.ACTION_EDIT);
                intent.setType("vnd.android.cursor.item/event");
                intent.putExtra("beginTime", cal.getTimeInMillis());
                intent.putExtra("allDay", "allDayFlag");
                intent.putExtra("rrule", "FREQ=DAILY");
                intent.putExtra("endTime", cal.getTimeInMillis());
                intent.putExtra("title", "Avviso Bioscalin "+prodotto);
                startActivity(intent);

問題は、同時に 3 つのイベントを追加する必要があることです。このコードはイベントを追加し、事前にコンパイルされたカレンダーを追加することをユーザーに促しますが、これを 3 回行うことはできません。ユーザーにとって退屈です。何か案が?

4

1 に答える 1

0

4.0 以降で作業している場合は、そのためのCalendarContractがあります。ただし、ICS が登場する前は、選択肢が少し限られていました。現在起動しているイベントでさえ、メーカーがカレンダー アプリを置き換えた Android デバイスでは動作しません。

vnd.android.cursor.item インテントを操作してサイレントにしたり、複数のリクエストを実行したりする方法はありません。さらに、さまざまなインテントを通じてカレンダー アプリを操作できますが、この操作は文書化されていないため、お勧めしません。

代わりに、Google カレンダー APIを使用して、REST 経由でユーザーのカレンダーとやり取りすることを検討してください。操作したいカレンダーがユーザーの Google アカウントに関連付けられているものである限り、このアプローチにより、任意の Android API レベルで動作するコードと、標準のカレンダー アプリが置き換えられたデバイスで動作するコードが得られます。欠点は、ユーザーの Outlook 予定表にイベントを追加できないことです。

于 2012-08-28T14:51:17.427 に答える