定时功能(AlarmManager)
来源:互联网 发布:kindle软件下载 编辑:程序博客网 时间:2024/05/21 10:50
在很多软件开发中我们都会用到定时功能,定时功能如何实现,这里需要用到一个关键,使用闹钟管理器触发事件,这些事件可在特定
的时刻或以固定的时间间隔发生。也就是我们刚刚所说的定时功能。我们来实现一个闹钟的小例子来简单体现一下。
首先获得闹钟管理器:
AlarmManager alarmManager=(AlarmManager)this.getSystem.Service(Context,ALARM_SERVICE);
确定设置闹钟的时刻:
//闹钟(一次)public void setAlarm(View view){
//时间一到,发送广播(闹钟响了)
//获取当前系统的时间 Calendar calendar=Calendar.getInstance(); int hour=calendar.get(Calendar.HOUR_OF_DAY); int minute=calendar.get(Calendar.MINUTE);
//弹出时间对话框 TimePickerDialog timePickerDialog=new TimePickerDialog(this, new TimePickerDialog.OnTimeSetListener() { @Override public void onTimeSet(TimePicker view, int hourOfDay, int minute) { Calendar c=Calendar.getInstance(); c.set(Calendar.HOUR_OF_DAY,hourOfDay); c.set(Calendar.MINUTE,minute); Intent intent=new Intent(); intent.setAction("com.example.android_alarm_notifaction.Wwoo0");
//预约跳转 PendingIntent pendingIntent=PendingIntent.getBroadcast(MainActivity.this,0x101,intent,0);
//设置闹钟
alarmManager.set(AlarmManager.RTC_WAKEUP,c.getTimeInMillis(),pendingIntent);
} },hour,minute,true); timePickerDialog.show();}
//广播接受者中(跳转Activity)
public class RingReceived extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { if ("com.example.android_alarm_notifaction.Wwoo0".equals(intent.getAction())){ Log.i("test","闹钟响了"); Intent intent1=new Intent(context,RingActivity.class); intent1.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK); context.startActivity(intent1); } }}// 跳转Activity,在这个Activity中播放音乐
public class RingActivity extends AppCompatActivity { private MediaPlayer mediaPlayer; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_ring); mediaPlayer = MediaPlayer.create(this, R.raw.dogbark); mediaPlayer.start(); } public void stop(View view){ mediaPlayer.stop(); finish(); }}
闹钟基本就实现了,定时功能在这基础上再延伸扩展。
0 0
- 定时功能(AlarmManager)
- 使用AlarmManager实现定时功能
- AlarmManager的使用-----闹钟/定时提醒功能
- AlarmManager+Notification实现定时通知提醒功能
- AlarmManager 定时
- Android AlarmManager实现不间断轮询服务(定时提醒功能)
- 【AlarmManager】使用AlarmManager定时任务
- AlarmManager之定时刷新
- Android定时执行(AlarmManager) [
- 设置定时,任务:AlarmManager
- Service+AlarmManager 定时任务
- alarmmanager定时任务
- AlarmManager 定时提醒
- AlarmManager 定时报警服务
- AlarmManager 定时任务
- 定时任务,AlarmManager使用
- Android,定时任务AlarmManager
- 定时任务,AlarmManager使用
- 温故知新-变量定义(PLSQL)
- Javascript闭包(Closure)简化精简版
- c++ 构造器的copy(拷贝), assignment(复制)
- linux Ubuntu常用操作命令
- python json 数据转换
- 定时功能(AlarmManager)
- 199. Binary Tree Right Side View
- 2017.02.14回顾
- SylixOS_x86_PCI串口驱动浅析
- 冒泡排序和插入排序的一点思考
- websocket api
- elasticsearch-常用查询语法
- 错误处理:could not find the main class, Program will exit
- Java Apache POI组件操作Excel