AlarmManager类
来源:互联网 发布:c语言可以用else if 编辑:程序博客网 时间:2024/06/18 02:43
最近工作有用到定时器的功能,我原来也没有接触过关于定时器的功能,在网上找了些资料,了解了一下AlarmManager类.
一、AlarmManager类
这个类提供了对系统报警服务的访问。
二、.结构关系
extends Object
三.获取这个类的实例
AlarmManager am = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
四、AlarmManager的用法
public class MainActivity extends AppCompatActivity implements View.OnClickListener { private Button btnset; private Calendar calendar; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btnset = (Button) findViewById(R.id.btnset); btnset.setOnClickListener(this); //获得日历的实例对象 calendar = Calendar.getInstance(); } @Override public void onClick(View v) { switch (v.getId()){ case R.id.btnset: showDialog(0); break; } } @Override protected Dialog onCreateDialog(int id) { Dialog dialog = null ; switch (id){ case 0 : dialog = new TimePickerDialog(MainActivity.this, new TimePickerDialog.OnTimeSetListener() { @Override public void onTimeSet(TimePicker view, int hourOfDay, int minute) {Intent intent = new Intent(MainActivity.this,alarm.class);PendingIntent pendingIntent = PendingIntent.getBroadcast(MainActivity.this,0,intent,0); calendar.setTimeInMillis(System.currentTimeMillis()); calendar.set(Calendar.HOUR_OF_DAY,hourOfDay); calendar.set(Calendar.MINUTE,minute); calendar.set(Calendar.SECOND,0); calendar.set(Calendar.MILLISECOND, 0);//AlarmManager对象AlarmManager am = (AlarmManager) getSystemService(Context.ALARM_SERVICE);//设置闹钟 一次性的;arg0:闹钟类型;arg1:在多少毫秒时间关闭;arg2:意图 am.set(AlarmManager.RTC_WAKEUP,calendar.getTimeInMillis(),pendingIntent); //设置重复闹钟 arg0:闹钟类型;arg1:在多少毫秒时间关闭;arg2:闹钟重复的时间间隔;arg3:意图 am.setRepeating(AlarmManager.RTC_WAKEUP,System.currentTimeMillis()+(10*1000),(24*60*60*1000),pendingIntent);//取消闹钟,取消的Intent必须与启动Intent保持绝对一致才能支持取消//am.cancel(pendingIntent); } },0,0,true); break ; } return dialog; }}
清单文件中注册广播
<receiver android:name=".alarm" android:process=":remote"></receiver> <!-- 也就是说android:process=":remote",代表在应用程序里,当需要该service时,会自动创建新的进程。而如果是android:process="remote",没有“:”分号的,则创建全局进程,不同的应用程序共享该进程。 -->
参考自:http://blog.csdn.net/q445697127/article/details/7763917
0 0
- AlarmManager类
- AlarmManager类的应用
- Android中的AlarmManager类
- AlarmManager类使用
- AlarmManager类api
- AlarmManager
- AlarmManager
- AlarmManager
- AlarmManager
- AlarmManager
- AlarmManager
- AlarmManager
- AlarmManager
- AlarmManager
- AlarmManager
- AlarmManager
- AlarmManager
- AlarmManager
- leetcode 55. Jump Game
- 二维码生成
- 114. Architectures与指令集架构armv6,armv7,armv7s,arm64,i386,x86_64
- 初识嵌入式
- Java反射机制浅析
- AlarmManager类
- CUDA 学习(十二)、常量内存
- 限制UITextFeild字数
- Bash测试----test, [], [[]], (())
- 面试题总结
- 网站设计的趋势
- 文章标题
- 初学泛型
- KVM虚拟机脚本自动化安装脚本1