`

闹钟AlarmManager

 
阅读更多
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设置闹钟示例代码

    本篇文章将详细讲解如何在Android中使用`AlarmManager`来设置闹钟,并提供相应的示例代码。 首先,了解`AlarmManager`的基本概念。`AlarmManager`提供了多种触发警报的方式,包括精确到毫秒的即时警报(`ELAPSED_...

    一个简单的闹钟,利用Alarmmanager实现

    本项目就是一个利用`AlarmManager` 实现简单闹钟的示例。下面我们将深入探讨`AlarmManager` 的工作原理以及如何在实际开发中运用。 ### `AlarmManager` 简介 `AlarmManager` 是Android系统提供的一个系统级服务,...

    android闹钟AlarmManager

    本教程将深入讲解如何使用`AlarmManager`来实现Android闹钟的基本功能。 一、AlarmManager介绍 `AlarmManager`是Android提供的一个用于管理定时任务的API,它可以在特定的时间点或间隔触发BroadcastReceiver,从而...

    android安卓闹铃服务AlarmManager的使用

    本篇文章将详细探讨`AlarmManager`的使用方法,包括设置一次性闹钟、周期性闹钟以及相关的最佳实践。 ### 一、AlarmManager介绍 `AlarmManager`位于`android.app`包下,它提供了多种调度策略,例如精确到毫秒的...

    AlarmManager 闹铃(支持重启)

    本教程将深入探讨如何利用`AlarmManager`设置多个闹钟,并确保这些闹钟在设备重启后仍然能够正常工作。 1. **AlarmManager的基本使用** - `AlarmManager`是Android框架中的一个系统服务,可以通过`...

    Androd AlarmManager小闹钟源代码

    这个"小闹钟"程序是基于`AlarmManager`构建的,非常适合初学者学习如何在Android环境中实现定时任务。下面我们将深入探讨`AlarmManager`的工作原理及其在项目中的应用。 `AlarmManager`是Android系统服务之一,它...

    AlarmManager

    在设定闹钟时,开发者会使用`AlarmManager`的`set()`或`setRepeating()`方法。例如,设定一个在特定时间触发的闹钟: ```java AlarmManager alarmMgr = (AlarmManager) getSystemService(Context.ALARM_SERVICE); ...

    Android AlarmManager的使用

    本教程将深入探讨`AlarmManager`的使用,以及如何通过它来实现一个实用的闹钟功能。 ### 1. `AlarmManager`介绍 `AlarmManager`是Android系统服务,它提供了调度任务的能力,可以在指定的绝对时间或相对时间触发一...

    Android中怎样进行闹钟设置

    AlarmManager是Android提供的一种系统级服务,用于调度长时间或一次性运行的任务,比如定时闹钟。要使用它,我们需要在代码中获取到AlarmManager的实例: ```java AlarmManager alarmManager = (AlarmManager) ...

    android 闹钟定时任务 AlarmManager

    在Android系统中,`AlarmManager`是用于设置和管理周期性或一次性系统闹钟服务的重要组件。它允许应用在特定时间触发一个广播接收器,从而执行相应的任务,比如更新应用数据、发送通知或者执行后台服务等。这篇博客...

    Android 闹钟实例源码

    1. **创建AlarmManager对象**:在应用程序中,通常会在需要设置闹钟的Activity或Service中初始化`AlarmManager`对象,通过`getSystemService()`方法获取。 ```java AlarmManager alarmManager = (AlarmManager) ...

    实现可定时响起的闹钟----PendingIntent 与 AlarmManager 的运用

    3. **设置AlarmManager**:在用户设定好闹钟时间后,我们通过`AlarmManager`来设置闹钟。以下是一个示例,设定RTC_WAKEUP类型的闹钟: ```java AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM...

    Android AlarmManager实现多个定时重复提醒

    `AlarmManager`通过向系统注册闹钟事件,当达到设定的时间点时,会触发一个`PendingIntent`,这个`PendingIntent`通常会启动一个广播接收器(BroadcastReceiver)来处理相应的任务,比如显示通知、更新UI或者执行...

    安卓开发 整点报时 闹钟原理 AlarmManager service

    在Android开发中,实现整点报时和闹钟功能是一个常见的需求,这通常涉及到系统级的服务——AlarmManager。AlarmManager是Android系统提供的一个用于安排在特定时间执行任务的服务,它可以触发BroadcastReceiver,...

    全局定时器 AlarmManager

    3. **设置AlarmManager**:在需要触发定时任务的地方,获取AlarmManager服务并设置闹钟。 ```java AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE); Intent alarmIntent = new Intent...

    使用AlarmManager启动广播、服务、页面(Android定时器)

    3. 设置AlarmManager:在需要触发广播的时间点,通过`AlarmManager`的`set()`或`setExact()`方法设置闹钟,传入BroadcastReceiver对应的Intent和触发时间。 4. 发送Intent:使用PendingIntent与BroadcastReceiver...

    android闹铃简单实现

    本文将深入解析标题为“android闹铃简单实现”的内容,介绍如何通过Android SDK来创建一个基本的闹钟应用。 首先,我们需要了解Android中的`AlarmManager`类,它是Android系统中负责调度闹钟的关键组件。`...

    基于Alarmmanager实现简单闹钟功能

    基于Alarmmanager实现简单闹钟功能 Alarmmanager是Android系统中的一种系统服务,负责管理和触发闹钟事件。通过使用Alarmmanager,可以实现各种类型的闹钟功能,例如简单的闹钟、重复闹钟、延迟闹钟等。 闹钟功能...

    Android中AlarmManager+Notification实现定时通知提醒功能

    AlarmManager简介 AlarmManager实质是一个全局的定时器,是Android中常用的一种系统级别的提示服务,在指定时间或周期性启动其它组件(包括Activity,Service,BroadcastReceiver)。本文将讲解一下如何使用...

    Xamarin.Android通过闹钟(AlarmManager)实现定时提供的功能

    在Xamarin.Android项目中,`AlarmDemo`可能是一个包含此功能的演示应用,其中包含了完整的`AlarmManager`使用示例,包括设置、触发和取消闹钟的代码。 总之,`AlarmManager`是Xamarin.Android中实现定时任务的关键...

Global site tag (gtag.js) - Google Analytics