Creo un'activity che si ripropone ciclicamente a intervalli, per il momento, regolari.
Ecco, ho ripassato e riprodotto. Questa è un'activity che si riproduce da sola dopo un determinato intervallo di tempo:
public class MainActivity extends AppCompatActivity { private AlarmManager alarmManager; private PendingIntent pendingIntent; private Button button; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button=(Button) findViewById(R.id.button); Intent intent=new Intent(getApplicationContext(),MainActivity.class); alarmManager=(AlarmManager)getSystemService(Context.ALARM_SERVICE); pendingIntent=PendingIntent.getActivity(getApplicationContext(),0,intent,0); button.setOnClickListener(new Button.OnClickListener(){ @Override public void onClick(View view) { } }); } @Override public void onDestroy(){ super.onDestroy(); alarmManager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime()+5*1000,pendingIntent); } }Ora devo trovare il modo di far cessare il ciclo.
public class MainActivity extends AppCompatActivity { private AlarmManager alarmManager; private PendingIntent pendingIntent; private Button button; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button=(Button) findViewById(R.id.button); Intent intent=new Intent(getApplicationContext(),MainActivity.class); alarmManager=(AlarmManager)getSystemService(Context.ALARM_SERVICE); pendingIntent=PendingIntent.getActivity(getApplicationContext(),0,intent,0); button.setOnClickListener(new Button.OnClickListener(){ @Override public void onClick(View view) { alarmManager.cancel(pendingIntent); if(pendingIntent!=null) pendingIntent.cancel(); } }); } @Override public void onDestroy(){ super.onDestroy(); alarmManager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime()+5*1000,pendingIntent); } }Ecco.
Il ripasso l'ho fatto da questo mio stesso post
Nessun commento:
Posta un commento