2016-04-25 31 views
0

我正在開發一個關於android studio的項目,它關於藥物提醒,我有一些困難,我該如何導入一個提醒。例如,我想讓用戶將時間設置爲他想要吃藥的時間,然後在那個時候提醒他。 所以,我搜索了很多,但我沒有找到合適的東西。 提醒是我的應用程序的一部分,所以我希望它儘可能簡單。 我希望你能理解我。作爲Android應用程序的一部分提醒

我試過這段代碼,但沒有奏效!

  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和廣播接收器來完成,這解決辦法:

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 

AlarmReceiver類,你將有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