2016-04-25 9 views
0

アンドロイドスタジオのプロジェクトに取り組んでいます。それは投薬リマインダについてです。私はリマインダーをどのようにインポートすることができますか? たとえば、私は、彼が丸薬を服用し、その時に彼に警告したいときのように時間を設定したいと思う。 私はたくさんの検索をしていますが、適切なものは見つかりませんでした。 リマインダは私のアプリの一部ですので、できるだけシンプルにします。 私があなたを理解してくれることを願っています。アンドロイドのアプリの一部としてのリマインダー

このコードを試しましたが、機能しませんでした。アプリがフォアグラウンドで、通常はそうではありませんすべての時間を実行しているとき

  final Calendar calender = Calendar.getInstance(); 
      final int hours = calender.get(Calendar.HOUR_OF_DAY); 
      final int minutes = calender.get(Calendar.MINUTE); 
      alarm.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View v) { 
        TimePickerDialog pickTime = new TimePickerDialog(AddMedication.this, new TimePickerDialog.OnTimeSetListener() { 
         @Override 
         public void onTimeSet(TimePicker view, int hourOfDay, int minute) { 
          alarm.setText(hourOfDay + ":" + minute); 
         } 
        }, hours, minutes, true); 
       } 
      }); 
+0

あなたはあるもののために 'AlarmManager'を使用することができますがAndroid SDKに付属しています。 –

答えて

1

あなたはあなたのポストに表示する方法が適しています。

あなたが必要とするソリューションが、これを達成するためにAlarmManagerとBroadcastReceiverを使用している:あなたのAlarmReceiverクラスの

AlarmManager alarmMgr; 
PendingIntent alarmIntent; 

alarmMgr = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE); 
Intent intent = new Intent(context, AlarmReceiver.class); 
alarmIntent = PendingIntent.getBroadcast(context, 0, intent, 0); 

alarmMgr.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, 
     SystemClock.elapsedRealtime() + 
     60 * 1000, alarmIntent); //this alarm for example is set for the next minute 

あなたはonReceive方法があります:

public class AlarmReceiver extends BroadcastReceiver { 
    @Override 
    public void onReceive(Context context, Intent intent) { 
     //Either start an activity or send a notification here 
    } 
} 
+0

ありがとうございますが、どこに最初のコードを貼り付けましたか?どの機能ですか? onCreate? – Nujud

+0

@NujudAliどこでもアラームを設定したいと思う – Pooya

関連する問題