11

Android 2.1 以降をサポートする必要があります。Android 2.1 では CalendarContract を使用できないことがわかっているため、次の回避策を実行しました。

Intent intent = new Intent(Intent.ACTION_EDIT)
                        .setType("vnd.android.cursor.item/event")
                        .putExtra("beginTime", beginTime.getTimeInMillis())
                        .putExtra("title", title)
                        .putExtra("description", description)
                        .putExtra("eventLocation", location)
                        .putExtra("allDay", allDay)
                        .putExtra(Intent.EXTRA_EMAIL, email );
                if(!allDay) {
                    intent.putExtra("endTime", endTime.getTimeInMillis());
                }

               startActivity(intent);

これはこれまでのところ非常にうまく機能しています。2.1 から 4.1 までテストしました。

リマインダーも追加したいのですが、インテントを使用してそれを行う方法に関するドキュメントが見つかりません。誰にも例がありますか?カレンダーに書き込むための権限をマニフェストに追加することは避けたいので、それが必要な提案があれば使用できません。

4

1 に答える 1

1

ストック android カレンダーのソースコードを確認すると、インテントを使用してリマインダーを追加することはできません。

これの代わりにcalendar、デフォルトのリマインダーを設定する設定があります。ただし、一部の OEM はこれを実装できた可能性があります。そのため、見つけたとしても、すべての電話で機能するとは限りません。

于 2012-12-17T06:02:34.377 に答える