Blame view

partieAndroid/codesJava/Alarm.java 1.81 KB
b8e00f52   martin.rohmer   mise à dispositio...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
  package com.example.martin.projetv5;

  

  import android.app.AlarmManager;

  import android.app.PendingIntent;

  import android.content.BroadcastReceiver;

  import android.content.Context;

  import android.content.Intent;

  import android.os.PowerManager;

  import android.util.Log;

  

  import java.util.Calendar;

  

  /**

   * Created by martin on 06/05/2017.

   */

  

  

  public class Alarm extends BroadcastReceiver

  {

  

      @Override

      public void onReceive(Context context, Intent intent)

      {

          PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);

          PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "");

          wl.acquire();

          Intent i = new Intent(context,AlarmeService.class);

          context.startService(i);

          wl.release();

      }

  

      public void setAlarm(Context context, String heure)

      {

          String[] s = heure.split("h");

          Calendar calendar = Calendar.getInstance();

          calendar.set(Calendar.HOUR_OF_DAY, Integer.parseInt(s[0]));

          calendar.set(Calendar.MINUTE, Integer.parseInt(s[1]));

          long when = calendar.getTimeInMillis();

  

          if(when < System.currentTimeMillis()) when += 24*60*60000;

  

          AlarmManager am =( AlarmManager)context.getSystemService(Context.ALARM_SERVICE);

          Intent i = new Intent(context, Alarm.class);

          PendingIntent pi = PendingIntent.getBroadcast(context, 0, i, 0);

          am.set(AlarmManager.RTC_WAKEUP, when, pi);

      }

  

      public void cancelAlarm(Context context)

      {

          Intent intent = new Intent(context, Alarm.class);

          PendingIntent sender = PendingIntent.getBroadcast(context, 0, intent, 0);

          AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);

          alarmManager.cancel(sender);

      }

  }