English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
مثال هذا النص يشرح كيفية إعداد闹ق اندرويد. يشارك معكم لتكونوا مرجعًا، وفقًا للتالي:
ساعة التنبيه هي أكثر الأشياء شيوعًا في الحياة، ويمكن تحقيقها في Android من خلال AlarmManager، وهو فئة تستخدم لتحديد تنفيذ مهمة معينة في وقت معين. سيقوم AlarmManager بتنفيذ هذه الأحداث من خلال طريقة onReceive، حتى لو كان النظام في حالة الاستيقاظ، فإنه لن يؤثر على التشغيل. يمكنك الحصول على هذه الخدمة من خلال طريقة Context.getSystemService. تحتوي فئة AlarmManager على العديد من الطرق، مثلما يلي:
طريقة |
شرح |
Cancel |
إلغاء خدمة AlarmManager |
Set |
إعداد خدمة AlarmManager |
setInexactRepeating |
إعداد فترة التكرار غير الدقيقة |
SetRepeating |
إعداد فترة التكرار |
setTimeZone |
إعداد المنطقة الزمنية |
أولاً، قم بإنشاء فئة AlarmReceiver لتلقي خدمة Alarm، واستخدم فئة Toast لتعليم المستخدم
public class AlarmReceiver extends BroadcastReceiver { @Override public void onReceive(Context arg0, Intent arg1) { // TODO Auto-generated method stub Toast.makeText(arg0, "وقت الإشعار الذي قمت بضبطه قد حان", Toast.LENGTH_LONG).show(); } }
بسبب استخدام خدمة BroadcastReceiver، يجب إدراجها في AndroidManifest.xml:
<receiver android:name=".AlarmReceiver" android:process=":remote"> </receiver>
ثم يجب إعداد وقت الإشعار وإلغاء الإشعار لمراقبة الوقت:
بكيتاج cn.edu.pku; إدراج java.util.Calendar; إدراج android.app.Activity; إدراج 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 { /** Called when the activity is first created. */ 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("تم إلغاء الصفير!"); } }); } private String format(int time){ String str = "" + time; if(str.length() == 1){ str = "0" + str; } return str; } }
النتيجة تبدو كالتالي:
إعداد الصفير
الوقت الحالي قد وصل إلى وقت إعداد الصفير:
إلغاء الصفير:
للمزيد من المعلومات المتعلقة بـ Android، يمكن للقراء المهتمين التحقق من موضوعات هذا الموقع: 'مقدمة إلى تصميم برامج Android' و 'تعليم برمجة Android' و 'تحليل تقنيات الت调试 في Android' و 'تحليل تقنيات التشغيل المتعددة في Android' و 'تحليل تقنيات التشغيل المتعددة في Android (الصوت، الفيديو، التسجيل، إلخ)' و 'تحليل استخدام العناصر الأساسية في Android' و 'تحليل تقنيات عرض الرؤية في Android' و 'تحليل تقنيات تصميم التخطيط في Android' و 'تحليل استخدام العناصر في Android'.
نتمنى أن يساعدك هذا المقال في تصميم برامج Android.
بيان: محتوى هذا المقال تم جمعه من الإنترنت، ويعود حقوق الملكية للمالك الأصلي، تم جمع المحتوى من قبل المستخدمين عبر الإنترنت بطرقهم الخاصة، ويحمل هذا الموقع حقوق الملكية، لم يتم تعديل المحتوى بشكل إنساني، ولا يتحمل هذا الموقع أي مسؤولية قانونية. إذا اكتشفت محتوى يشتبه في انتهاك حقوق النسخ، فأنت مرحب بك في إرسال بريد إلكتروني إلى: notice#oldtoolbag.com (عند إرسال البريد الإلكتروني، يرجى استبدال # بـ @) للإبلاغ، وتقديم الدليل، إذا تم التحقق من ذلك، فإن هذا الموقع سيزيل محتوى يشتبه في انتهاك حقوق النسخ فورًا.