ただし、AlarmClockInfoで使用されるPendingIntentはどのように使用され、アラームクロックの詳細を編集するにはどのように使用しますか?
setAlarmClock()
との最大の問題は、それが ユーザーに見えるということである:
バーのように、 の場合、デバイスに内蔵されている目覚まし時計アプリでアラームを設定しました。
ユーザーは、彼らが完全に開いたスライド を呼び出します通知シェードでアラーム時刻をタップ その通知シェード
- ときにアラームの時間が表示されます
AlarmClockInfo
オブジェクトに入れたPendingIntent
このコードは与えられたので、
、...:
static void scheduleAlarms(Context ctxt) {
AlarmManager mgr=
(AlarmManager)ctxt.getSystemService(Context.ALARM_SERVICE);
Intent i=new Intent(ctxt, PollReceiver.class);
PendingIntent pi=PendingIntent.getBroadcast(ctxt, 0, i, 0);
Intent i2=new Intent(ctxt, EventDemoActivity.class);
PendingIntent pi2=PendingIntent.getActivity(ctxt, 0, i2, 0);
AlarmManager.AlarmClockInfo ac=
new AlarmManager.AlarmClockInfo(System.currentTimeMillis()+PERIOD,
pi2);
mgr.setAlarmClock(ac, pi);
}
ユーザーは通知シェードの時間をタップしたときに、EventDemoActivity
が表示されます...
(this sample projectから)。このアイデアは、ユーザがこのアラームをキャンセルまたは再スケジュールすることができるアクティビティをここに提供する必要があるということです。
*このアイデアは、ユーザがこのアラームをキャンセルまたは再スケジュールすることを許可するアクティビティをここに提供する必要があるということです。*これは、2つのアクション、つまり1つは閉じ、もう1つはスヌーズの2つのアクションで 'Notification' –
@LittleChild:確かに、ユーザーにアラーム(「通知」とアラーム提供のアクティビティ)を管理する2つの方法とステータスバーの2つのアイコン(「通知」とシステムからの2つのアイコンアラームのため)。 – CommonsWare
@Ankhwatcher:それは素晴らしい質問です...私は分かりません。それ以外の場合は、 'PendingIntent'を取り消すことができますが、' AlarmClockInfo'全体を取り消すことができるようになるときれいになります。どうすればいいのか分かりません。スタックオーバーフローに関する別の質問をしてみるかもしれません。 – CommonsWare