私は、仮想タイムカードのように動作するAPPを作成します。ユーザーは、自分が仕事に入った時間、昼食に出る時間、仕事に戻った時間を入力します。それから彼はボタンを押して、何時に出ることができるかを見ることができます。もちろん、これは私のように柔軟な労働時間を持つ人にとっては便利です。イベントの5分前にアラームを設定する方法は?
APPは動作します。今度は新しい機能を追加したいと思います。私が午後5時に私のオフィスを出ることができるとしましょう、私は16:55の私のAPPが通知、アラームを送ってくれたと思います。私が外出できることを私に思い出させる何か。どのようにそれを行うことができますか?
私はこれらの手順を持っている私の心の中で:
- 私は仕事
- から出て行くことができる時間は、私は現在の時刻を確認し、それが5分だ場合のポイント1をAに送信する前に、変数に入れて通知
ただし、このチェックは、毎回、または毎分1回、このチェックを行う必要があります。そして、私は実際にそれを行う方法を本当に知りません。
誰もが私のアイデアを助けることができますか?
イバノ
- ルールと私の新しいアップデートに応じて編集 -
私の遅れ申し訳ありませんが、私はJavaでのスーパールーキーだから、私はあなたが私を送った何を勉強していました...そして、私は本当に新しいことを学ぶために苦労しています...とにかく、ポイントに到達しましょう。私はAlarmManagerを使用しようとしましたが、私が望むことはしていません。
私はMainActivityクラスの先頭にこのコードを追加:
AlarmManager alarmMgr = (AlarmManager)getSystemService(ALARM_SERVICE);
Intent intent = new Intent(this, OnAlarmReceive.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
alarmMgr.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(),1*60*1000, pendingIntent);
私は何を取得するAPPは、自分自身を再ロードMainActivityクラスを呼び出し、ユーザーがに以前入力した値を再ロードし、各60秒ということですDB。したがって、見ることなく新しい価値を入れる方法はありません!!
idは次のようなものです:アプリはバックグラウンドで「永遠」にとどまり、ユーザーが5分後に退室できることを認識したときにのみ目を覚まします。
私はすでに、プログラムが現在の時刻をチェックし、「ユーザーが退席する前に5分足らずですか?」と尋ねる部分を書いています。答えが「はい」の場合は、テキストメッセージが表示され、サウンドが再生されます。これは、コードの一部です:
NotificationCompat.Builder n = new NotificationCompat.Builder(this)
.setContentTitle("Arrivato nuovo messaggio!!")
.setContentText("Autore: Nicola Rossi")
.setSmallIcon(android.R.drawable.ic_dialog_info)
.setContentIntent(pendingIntent)
.setAutoCancel(true)
.setSound(sound);
ので、プログラムが動作します..しかし、私は5分の私のシフトの終了前にアプリを開いたときに、それが唯一の通知を送信マイナーグリッチを持っています。それ以外の時間にアプリを開いた場合、通知は送信されません。私はアプリを開いたときに関係なく、この通知を送信します。
どうすれば修正できますか?
https://developer.android.com/reference/android/app/AlarmManager.html – Kuffs