JavascriptProva

venerdì 10 agosto 2018

AlarmManager

AlarmManager.
Mi riscrivo da capo il codice...

public class MainActivity extends AppCompatActivity {
    AlarmManager alarmManager;
    PendingIntent pendingIntent;
    Calendar calendar;
    Intent intent;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        calendar=Calendar.getInstance();
        calendar.setTimeInMillis(System.currentTimeMillis());
        calendar.set(Calendar.HOUR_OF_DAY,20);
        calendar.set(Calendar.MINUTE,0);
        calendar.set(Calendar.SECOND,0);


        intent=new Intent(getApplicationContext(),MyService.class);
        pendingIntent=PendingIntent.getService(getApplicationContext(),0,
                intent,0);
        alarmManager=(AlarmManager)getSystemService(ALARM_SERVICE);
        alarmManager.set(AlarmManager.RTC_WAKEUP,calendar.getTimeInMillis(),
                pendingIntent);


    }
}
Funziona alla perfezione!
Ho ripassato anche la modalità ELAPSED_REALTIME:
public class MainActivity extends AppCompatActivity {
    AlarmManager alarmManager;
    PendingIntent pendingIntent;
    Calendar calendar;
    Intent intent;
    Button button;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        button=(Button)findViewById(R.id.button);



        intent=new Intent(getApplicationContext(),MyService.class);
        pendingIntent=PendingIntent.getService(getApplicationContext(),0,
                intent,0);
        alarmManager=(AlarmManager)getSystemService(ALARM_SERVICE);


        button.setOnClickListener(new View.OnClickListener(){

            @Override
            public void onClick(View v) {
                alarmManager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP,
                        SystemClock.elapsedRealtime()+20*1000,
                        pendingIntent);
            }
        });

    }
}
E da quanto ho sperimentato, è indipendente dal fatto che durante l'intervallo il dispositivo venga spento o no.

Nessun commento:

Posta un commento