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来实现android闹钟的基本功能 注释详细~适合初学者~
android安卓闹铃服务AlarmManager的使用
AlarmManager 闹铃(支持重启) 设置多个闹铃 备注详细
Android中使用AlarmManager设置闹钟示例代码
Android下AlarmManager的小闹钟程序,初学可以看看
安卓开发 整点报时 闹钟原理 AlarmManager service
Andorid AlarmManager的使用,通过这个实例可以变换实现闹钟功能
主要介绍了Android闹铃服务AlarmManager用法,结合实例形式深入分析了闹铃服务AlarmManager的功能、原理、定义与使用方法,需要的朋友可以参考下
AlarmManager简介 AlarmManager实质是一个全局的定时器,是Android中常用的一种系统级别的提示服务,在指定时间或周期性启动其它组件(包括Activity,Service,BroadcastReceiver)。本文将讲解一下如何使用...
AlarmManager提供了访问系统闹钟的服务。它允许你安排你的应用在未来某个时间点运行。这就相当于定时任务。对于少于60s的定时任务,不推荐使用AlarmManager,可以使用更高效的的Handler来处理频发的任务。
Android开发中,alarmManager在5.0以上系统,启动时间设置无效的问题 做一个app,需要后台保持发送心跳包。由于锁屏后CPU休眠,导致心跳包线程被挂起,所以尝试使用alarmManager定时唤醒Service发送心跳包。 以下是...
Xamarin.Android通过闹钟(AlarmManager)实现定时提供的功能。同时通过广播的方式实现闹钟的监听,并通过回调方法实现事件的触发。
实现可定时响起的闹钟----PendingIntent 与 AlarmManager 的运用
Android通过AlarmManager类实现闹钟,供大家参考,具体内容如下 简介 闹钟是生活中最常用的功能了,很多App都可以加入该功能,提醒用户某个时刻要做的事情。在Android系统中可以通过AlarmManager类实现闹钟,...
使用AlarmManager实现Android定时任务(闹钟),解决了Android版本更新导致的定时不准确问题。Demo源码
Android闹钟alarmManager+PendingIntent的使用方法,供大家参考,具体内容如下 这次给大家分享两种闹钟: 第一种是当到达闹钟时间后执行一次相应的操作 alarmManager.set(AlarmManager.RTC_WAKEUP,c....
利用闹钟alarmmanager来定时的发送通知,在通知栏显示,点击后跳转到指定activity
通过AlarmManager唤醒闹钟提醒