English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Questa guida esemplare spiega il metodo di configurazione dell'orologio di programmazione Android. Condiviso con tutti per riferimento, ecco i dettagli:
L'allarme è molto comune nella vita quotidiana, in Android può essere implementato tramite AlarmManager, AlarmManager è una classe speciale utilizzata per impostare che venga completato un'azione a un tempo specifico. AlarmManager eseguirà questi eventi tramite il metodo onReceive(), anche se il sistema è in stato di standby, non influenzerà il funzionamento. Può essere ottenuto tramite il metodo getSystemService(Context) del Context. Ci sono molti metodi in AlarmManager, come elencato di seguito:}}
Metodo |
Spiegazione |
Cancel |
Cancellare il servizio AlarmManager |
Set |
Impostare il servizio AlarmManager |
setInexactRepeating |
Impostare il ciclo di ripetizione impreciso |
SetRepeating |
Impostare il ciclo di ripetizione |
setTimeZone |
Impostare il fuso orario |
Prima di tutto, implementare la classe AlarmReceiver che riceve il servizio Alarm, utilizzare Toast per avvisare l'utente;
public class AlarmReceiver extends BroadcastReceiver { @Override public void onReceive(Context arg0, Intent arg1) { // TODO Auto-generated method stub Toast.makeText(arg0, "L'ora dell'allarme che hai impostato è giunta", Toast.LENGTH_LONG).show(); } }
Poiché è stato utilizzato il servizio BroadcastReceiver, è necessario dichiararlo ulteriormente in AndroidManifest.xml:;
<receiver android:name=".AlarmReceiver" android:process=":remote"> </receiver>
Poi bisogno di impostare e cancellare i tempi di allarme e ascoltare:;
package cn.edu.pku; import java.util.Calendar; import android.app.Activity; import android.app.AlarmManager; import android.app.PendingIntent; import android.app.TimePickerDialog; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.TextView; import android.widget.TimePicker; public class AlarmActivity extends Activity { /** Chiamato quando l'attività viene creata per la prima volta. */ Button mButton1; Button mButton2; TextView mTextView; Calendar calendar; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); calendar=Calendar.getInstance(); mTextView=(TextView)findViewById(R.id.TextView01); mButton1=(Button)findViewById(R.id.Button01); mButton2=(Button)findViewById(R.id.Button02); mButton1.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub calendar.setTimeInMillis(System.currentTimeMillis()); int hour = calendar.get(Calendar.HOUR_OF_DAY); int minute = calendar.get(Calendar.MINUTE); new TimePickerDialog(AlarmActivity.this, new TimePickerDialog.OnTimeSetListener() { public void onTimeSet(TimePicker view, int hourOfDay, int minute) { // TODO Auto-generated method stub calendar.setTimeInMillis(System.currentTimeMillis()); calendar.set(Calendar.HOUR_OF_DAY, hourOfDay); calendar.set(Calendar.MINUTE, minute); calendar.set(Calendar.SECOND, 0); calendar.set(Calendar.MILLISECOND, 0); Intent intent = new Intent(AlarmActivity.this, AlarmReceiver.class); PendingIntent pendingIntent = PendingIntent.getBroadcast(AlarmActivity.this, 0, intent, 0); AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE); alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent); alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + (10 * 1000), (24 * 60 * 60 * 1000), pendingIntent); String tmps = "设置闹钟时间为" + format(hourOfDay) + ":" +format(minute); mTextView.setText(tmps); } }, hour, minute, true).show(); } }); mButton2.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub Intent intent = new Intent(AlarmActivity.this, AlarmReceiver.class); PendingIntent pendingIntent = PendingIntent.getBroadcast(AlarmActivity.this, 0, intent, 0); AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE); alarmManager.cancel(pendingIntent); mTextView.setText("La sveglia è stata annullata!"); } }); } private String format(int time){ String str = "" + time; if(str.length() == 1){ str = "0" + str; } return str; } }
L'effetto è il seguente:
Imposta sveglia
Ora è il momento impostato per la sveglia:
Annulla sveglia:
Per chi è interessato a ulteriori contenuti relativi a Android, i lettori possono consultare le sezioni speciali di questo sito: 'Concetti di gestione delle date e dell'ora Android', 'Guida di base e avanzata per lo sviluppo Android', 'Concetti di debug e soluzioni di problemi comuni Android', 'Concetti di gestione dei media Android (audio, video, registrazione, ecc.)', 'Concetti di utilizzo dei componenti di base Android', 'Concetti di utilizzo delle viste View Android', 'Concetti di utilizzo dei layout layout Android' e 'Concetti di utilizzo dei controlli Android'.
Spero che l'articolo descritto sia utile per la progettazione di applicazioni Android di tutti.
Dichiarazione: il contenuto di questo articolo è stato tratto da Internet, il copyright spetta ai rispettivi proprietari, il contenuto è stato contribuito e caricato autonomamente dagli utenti di Internet, questo sito non detiene i diritti di proprietà, non è stato editato manualmente e non assume responsabilità legali correlate. Se trovi contenuti sospetti di violazione del copyright, ti preghiamo di inviare una e-mail a: notice#oldtoolbag.com (al momento dell'invio dell'e-mail, sostituisci # con @) per segnalare, fornendo prove pertinenti. Una volta verificata, questo sito eliminerà immediatamente il contenuto sospetto di violazione del copyright.