package com.example.testalam; 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 MainActivity extends Activity { /** Called when the activity is first created. */ private TextView tv = null; private Button btn_set = null; private Button btn_cel = null; private TextView tv2 = null; private Button btn_set2 = null; private Button btn_cel2 = null; private TextView tv5 = null; private Button btn_set5 = null; private Button btn_cel5 = null; private Calendar c = null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tv = (TextView) this.findViewById(R.id.TextView); btn_set = (Button) this.findViewById(R.id.Button01); btn_cel = (Button) this.findViewById(R.id.Button02); tv2 = (TextView) this.findViewById(R.id.TextView2); btn_set2 = (Button) this.findViewById(R.id.Button04); btn_cel2 = (Button) this.findViewById(R.id.Button03); tv5 = (TextView) this.findViewById(R.id.TextView5); btn_set5 = (Button) this.findViewById(R.id.Button05); btn_cel5 = (Button) this.findViewById(R.id.Button06); c = Calendar.getInstance(); btn_set.setOnClickListener(new Button.OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub c.setTimeInMillis(System.currentTimeMillis()); int hour = c.get(Calendar.HOUR_OF_DAY); int minute = c.get(Calendar.MINUTE); new TimePickerDialog(MainActivity.this, new TimePickerDialog.OnTimeSetListener() { public void onTimeSet(TimePicker view, int hourOfDay, int minute) { // TODO Auto-generated method stub c.setTimeInMillis(System.currentTimeMillis()); c.set(Calendar.HOUR_OF_DAY, hourOfDay); c.set(Calendar.MINUTE, minute); c.set(Calendar.SECOND, 0); c.set(Calendar.MILLISECOND, 0); Intent intent = new Intent(); intent.setAction("com.example.testala"); intent.putExtra("name", "1"); // intent.putExtra("name", "1"); PendingIntent pi = PendingIntent.getBroadcast( MainActivity.this, 1, intent, 0); AlarmManager am = (AlarmManager) getSystemService(Activity.ALARM_SERVICE); am.set(AlarmManager.RTC_WAKEUP, c.getTimeInMillis(), pi);// 设置闹钟 // am.setRepeating(AlarmManager.RTC_WAKEUP, // c.getTimeInMillis(), (10 * 10 * 100000 ), pi);// 重复设置 tv.setText("设置的闹钟时间为:" + hourOfDay + ":" + minute); } }, hour, minute, true).show(); } }); btn_cel.setOnClickListener(new Button.OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub Intent intent = new Intent(); intent.setAction("com.example.testala"); PendingIntent pi = PendingIntent.getBroadcast( MainActivity.this, 1, intent, 0); AlarmManager am = (AlarmManager) getSystemService(Activity.ALARM_SERVICE); am.cancel(pi); tv.setText("闹钟取消"); } }); btn_set2.setOnClickListener(new Button.OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub c.setTimeInMillis(System.currentTimeMillis()); int hour = c.get(Calendar.HOUR_OF_DAY); int minute = c.get(Calendar.MINUTE); new TimePickerDialog(MainActivity.this, new TimePickerDialog.OnTimeSetListener() { public void onTimeSet(TimePicker view, int hourOfDay, int minute) { // TODO Auto-generated method stub c.setTimeInMillis(System.currentTimeMillis()); c.set(Calendar.HOUR_OF_DAY, hourOfDay); c.set(Calendar.MINUTE, minute); c.set(Calendar.SECOND, 0); c.set(Calendar.MILLISECOND, 0); Intent intent = new Intent(); intent.setAction("com.example.testala"); intent.putExtra("name", "2"); // intent .putExtra("name","2"); PendingIntent pi = PendingIntent.getBroadcast( MainActivity.this, 2, intent, 0); AlarmManager am = (AlarmManager) getSystemService(Activity.ALARM_SERVICE); am.set(AlarmManager.RTC_WAKEUP, c.getTimeInMillis(), pi);// 设置闹钟 // am.setRepeating(AlarmManager.RTC_WAKEUP, // c.getTimeInMillis(), (10 * 100000), pi);// 重复设置 tv2.setText("设置的闹钟时间为:" + hourOfDay + ":" + minute); } }, hour, minute, true).show(); } }); btn_cel2.setOnClickListener(new Button.OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub Intent intent = new Intent(); intent.setAction("com.example.testala"); PendingIntent pi = PendingIntent.getBroadcast( MainActivity.this, 2, intent, 0); AlarmManager am = (AlarmManager) getSystemService(Activity.ALARM_SERVICE); am.cancel(pi); tv2.setText("闹钟取消"); } }); btn_set5.setOnClickListener(new Button.OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub c.setTimeInMillis(System.currentTimeMillis()); int hour = c.get(Calendar.HOUR_OF_DAY); int minute = c.get(Calendar.MINUTE); new TimePickerDialog(MainActivity.this, new TimePickerDialog.OnTimeSetListener() { public void onTimeSet(TimePicker view, int hourOfDay, int minute) { // TODO Auto-generated method stub c.setTimeInMillis(System.currentTimeMillis()); c.set(Calendar.HOUR_OF_DAY, hourOfDay); c.set(Calendar.MINUTE, minute); c.set(Calendar.SECOND, 0); c.set(Calendar.MILLISECOND, 0); Intent intent = new Intent(); intent.setAction("com.example.testala"); intent.putExtra("name", "3"); // intent .putExtra("name","2"); PendingIntent pi = PendingIntent.getBroadcast( MainActivity.this, 3, intent, 0); AlarmManager am = (AlarmManager) getSystemService(Activity.ALARM_SERVICE); am.set(AlarmManager.RTC_WAKEUP, c.getTimeInMillis(), pi);// 设置闹钟 // am.setRepeating(AlarmManager.RTC_WAKEUP, // c.getTimeInMillis(), (10 * 10 * 10000), pi);// 重复设置 tv5.setText("设置的闹钟时间为:" + hourOfDay + ":" + minute); } }, hour, minute, true).show(); } }); btn_cel5.setOnClickListener(new Button.OnClickListener() { public void onClick(View v) { // TODO Auto-generated method stub Intent intent = new Intent(); intent.setAction("com.example.testala"); PendingIntent pi = PendingIntent.getBroadcast( MainActivity.this, 3, intent, 0); AlarmManager am = (AlarmManager) getSystemService(Activity.ALARM_SERVICE); am.cancel(pi); tv5.setText("闹钟取消"); } }); } }
package com.example.testalam; import java.util.Date; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.util.Log; import android.widget.Toast; public class AlamrReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { if(intent.getAction().equals("com.example.testala")) { String name = intent.getStringExtra("name"); if (name.equals("1")) { Log.i("time", "0000000000000"+new Date()); Toast.makeText(context, "闹钟时间到1", 1).show(); } else if(name.equals("2")) { Log.i("time", "11111111"+new Date()); Toast.makeText(context, "闹钟时间到2", 1).show(); } else if(name.equals("3")) { Log.i("time", "22222222222"+new Date()); Toast.makeText(context, "闹钟时间到3", 1).show(); } } }
相关推荐
本篇文章将详细讲解如何在Android中使用`AlarmManager`来设置闹钟,并提供相应的示例代码。 首先,了解`AlarmManager`的基本概念。`AlarmManager`提供了多种触发警报的方式,包括精确到毫秒的即时警报(`ELAPSED_...
本项目就是一个利用`AlarmManager` 实现简单闹钟的示例。下面我们将深入探讨`AlarmManager` 的工作原理以及如何在实际开发中运用。 ### `AlarmManager` 简介 `AlarmManager` 是Android系统提供的一个系统级服务,...
本教程将深入讲解如何使用`AlarmManager`来实现Android闹钟的基本功能。 一、AlarmManager介绍 `AlarmManager`是Android提供的一个用于管理定时任务的API,它可以在特定的时间点或间隔触发BroadcastReceiver,从而...
本篇文章将详细探讨`AlarmManager`的使用方法,包括设置一次性闹钟、周期性闹钟以及相关的最佳实践。 ### 一、AlarmManager介绍 `AlarmManager`位于`android.app`包下,它提供了多种调度策略,例如精确到毫秒的...
本教程将深入探讨如何利用`AlarmManager`设置多个闹钟,并确保这些闹钟在设备重启后仍然能够正常工作。 1. **AlarmManager的基本使用** - `AlarmManager`是Android框架中的一个系统服务,可以通过`...
这个"小闹钟"程序是基于`AlarmManager`构建的,非常适合初学者学习如何在Android环境中实现定时任务。下面我们将深入探讨`AlarmManager`的工作原理及其在项目中的应用。 `AlarmManager`是Android系统服务之一,它...
在设定闹钟时,开发者会使用`AlarmManager`的`set()`或`setRepeating()`方法。例如,设定一个在特定时间触发的闹钟: ```java AlarmManager alarmMgr = (AlarmManager) getSystemService(Context.ALARM_SERVICE); ...
本教程将深入探讨`AlarmManager`的使用,以及如何通过它来实现一个实用的闹钟功能。 ### 1. `AlarmManager`介绍 `AlarmManager`是Android系统服务,它提供了调度任务的能力,可以在指定的绝对时间或相对时间触发一...
AlarmManager是Android提供的一种系统级服务,用于调度长时间或一次性运行的任务,比如定时闹钟。要使用它,我们需要在代码中获取到AlarmManager的实例: ```java AlarmManager alarmManager = (AlarmManager) ...
在Android系统中,`AlarmManager`是用于设置和管理周期性或一次性系统闹钟服务的重要组件。它允许应用在特定时间触发一个广播接收器,从而执行相应的任务,比如更新应用数据、发送通知或者执行后台服务等。这篇博客...
1. **创建AlarmManager对象**:在应用程序中,通常会在需要设置闹钟的Activity或Service中初始化`AlarmManager`对象,通过`getSystemService()`方法获取。 ```java AlarmManager alarmManager = (AlarmManager) ...
3. **设置AlarmManager**:在用户设定好闹钟时间后,我们通过`AlarmManager`来设置闹钟。以下是一个示例,设定RTC_WAKEUP类型的闹钟: ```java AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM...
`AlarmManager`通过向系统注册闹钟事件,当达到设定的时间点时,会触发一个`PendingIntent`,这个`PendingIntent`通常会启动一个广播接收器(BroadcastReceiver)来处理相应的任务,比如显示通知、更新UI或者执行...
在Android开发中,实现整点报时和闹钟功能是一个常见的需求,这通常涉及到系统级的服务——AlarmManager。AlarmManager是Android系统提供的一个用于安排在特定时间执行任务的服务,它可以触发BroadcastReceiver,...
3. **设置AlarmManager**:在需要触发定时任务的地方,获取AlarmManager服务并设置闹钟。 ```java AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE); Intent alarmIntent = new Intent...
3. 设置AlarmManager:在需要触发广播的时间点,通过`AlarmManager`的`set()`或`setExact()`方法设置闹钟,传入BroadcastReceiver对应的Intent和触发时间。 4. 发送Intent:使用PendingIntent与BroadcastReceiver...
本文将深入解析标题为“android闹铃简单实现”的内容,介绍如何通过Android SDK来创建一个基本的闹钟应用。 首先,我们需要了解Android中的`AlarmManager`类,它是Android系统中负责调度闹钟的关键组件。`...
基于Alarmmanager实现简单闹钟功能 Alarmmanager是Android系统中的一种系统服务,负责管理和触发闹钟事件。通过使用Alarmmanager,可以实现各种类型的闹钟功能,例如简单的闹钟、重复闹钟、延迟闹钟等。 闹钟功能...
AlarmManager简介 AlarmManager实质是一个全局的定时器,是Android中常用的一种系统级别的提示服务,在指定时间或周期性启动其它组件(包括Activity,Service,BroadcastReceiver)。本文将讲解一下如何使用...
在Xamarin.Android项目中,`AlarmDemo`可能是一个包含此功能的演示应用,其中包含了完整的`AlarmManager`使用示例,包括设置、触发和取消闹钟的代码。 总之,`AlarmManager`是Xamarin.Android中实现定时任务的关键...