android程序闹钟服务的实现
2013-09-30 10:06
375 查看
android程序闹钟服务的实现流程:
1、获得系统的闹钟提醒管理服务:AlarmManager alm = (AlarmManager) getSystemService(ALARM_SERVICE);
2、设置闹钟要调用的PendingIntent:alm.set(AlarmManager.RTC_WAKEUP, c2.getTimeInMillis(), pi);
3、指明PendingIntent要发送的广播:PendingIntent pi = PendingIntent.getBroadcast(this, 0, intent,PendingIntent.FLAG_UPDATE_CURRENT);
4、指明广播接收器的类:
Intent intent = new Intent();
intent.setClass(this, AlarmNote.class);
5、通过AlarmNote这个广播接收器类,调用最好的闹钟报警对话界面:
Intent in=new Intent();
in.setClass(context, Alarm.class);
in.putExtra("messageTitle", messageTitle);
in.putExtra("messageContent", messageContent);
in.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
//调用Alarm
context.startActivity(in);
一、闹钟音乐播放和显示界面activity
二、闹钟广播接收器
三、绑定系统的闹钟服务
1、获得系统的闹钟提醒管理服务:AlarmManager alm = (AlarmManager) getSystemService(ALARM_SERVICE);
2、设置闹钟要调用的PendingIntent:alm.set(AlarmManager.RTC_WAKEUP, c2.getTimeInMillis(), pi);
3、指明PendingIntent要发送的广播:PendingIntent pi = PendingIntent.getBroadcast(this, 0, intent,PendingIntent.FLAG_UPDATE_CURRENT);
4、指明广播接收器的类:
Intent intent = new Intent();
intent.setClass(this, AlarmNote.class);
5、通过AlarmNote这个广播接收器类,调用最好的闹钟报警对话界面:
Intent in=new Intent();
in.setClass(context, Alarm.class);
in.putExtra("messageTitle", messageTitle);
in.putExtra("messageContent", messageContent);
in.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
//调用Alarm
context.startActivity(in);
一、闹钟音乐播放和显示界面activity
//显示闹钟报警对话框:显示报警界面,播放报警音乐 public class Alarm extends Activity { //媒体播放器 private MediaPlayer mMediaPlayer; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.alarm); try { //播放指定的音乐 mMediaPlayer=MediaPlayer.create(Alarm.this,ActivityManager.getUri()); //设置播放的音量 mMediaPlayer.setVolume(300, 350); //设置循环 mMediaPlayer.setLooping(true); } catch (Exception e) { Toast.makeText(Alarm.this,"音乐文件播放异常",Toast.LENGTH_SHORT); } //开始播放 mMediaPlayer.start(); Intent intent=getIntent(); //获得标题 String messageTitle=intent.getStringExtra("messageTitle"); //获得内容 String messageContent=intent.getStringExtra("messageContent"); //新建对话框 AlertDialog.Builder adb=new Builder(Alarm.this); adb.setTitle(messageTitle); adb.setMessage(messageContent); adb.setPositiveButton("确定", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { //关闭媒体播放器 mMediaPlayer.stop(); mMediaPlayer.release(); finish(); } }); //显示对话框 adb.show(); } }
二、闹钟广播接收器
//闹钟广播接收器 public class AlarmNote extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { // TODO Auto-generated method stub //获得标题 String messageTitle=intent.getStringExtra("messageTitle"); //获得内容 String messageContent=intent.getStringExtra("messageContent"); //接收到广播以后,启动Alarm activity,在alarm中报警 Intent in=new Intent(); in.setClass(context, Alarm.class); in.putExtra("messageTitle", messageTitle); in.putExtra("messageContent", messageContent); in.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); //调用Alarm context.startActivity(in); } }
三、绑定系统的闹钟服务
//AlarmNote这个类已经在Manifest文件注册,所以通过类的方式调用这个广播时不用在注册啦 //如果通过action一定要注册 Intent intent = new Intent(); intent.setClass(this, AlarmNote.class); //传递标题和内容信息 intent.putExtra("messageTitle", name); intent.putExtra("messageContent", messageContent); //PendingIntent 待定的意图 我们可以同过它来启动其它应用的activity,service,broadcast //可以理解为Intent的封装包,相当于把startActivity、sendBroadcast封装在内了 pi = PendingIntent.getBroadcast(this, 0, intent,PendingIntent.FLAG_UPDATE_CURRENT); //获得闹钟服务://顾名思义,就是“提醒”,是Android中常用的一种系统级别的提示服务, //在特定的时刻为我们广播一个指定的Intent。 alm = (AlarmManager) getSystemService(ALARM_SERVICE); //设置闹钟 alm.set(AlarmManager.RTC_WAKEUP, c2.getTimeInMillis(), pi);
相关文章推荐
- android闹钟程序实现铃声
- AIDL_android接口定义语言_IPC_实现远程访问其他程序的服务
- 简单实现Android闹钟程序 附源码
- Android--闹钟小程序(Broadcast实现)
- Android实现点击两次Back退出程序
- android实现开机启动服务
- WIN32编程--用Windows API实现Windows NT服务的程序框架
- Android闹钟实现
- Android下两次返回键完全退出程序以及提示对话框的实现
- 【转】Android实现开机自动运行程序
- android studio tabhost基础 多功能时钟app 实现闹钟功能(一)
- Android 双击退出程序实现(有侧滑界面)
- windows 使用sc命令将程序注册成服务 实现后台运行开机自启
- android 卸载程序、清除数据、停止服务使用方法
- Android二维码功能实现,在程序内嵌入ZXing项目
- Android 实现监听开机启动开启后台服务,并实现自动重启。
- 关于android程序自动更新功能的实现,如何去除安装提示
- Android定时广播和定时服务两种实现方式
- Android中的“再按一次返回键退出程序”实现
- android实现程序的后台运行