AlarmManager的使用-----闹钟/定时提醒功能
2014-07-07 20:07
309 查看
AlarmManager----全局定时器
顾名思义就是“提醒”,是Android中常用的一种系统级别的提示服务;
AlarmManager的作用文档中的解释是:在特定的时刻为我们广播一个指定的Intent。
简单的说就是我们设定一个时间,然后在该时间到来时,AlarmManager为我们广播一个我们设定的Intent
常用的三个方法:
set:此方法用于设置一次性闹钟
setRepeating():此方法用于设置重复闹钟
setInexactRepeating():用于设置重复闹钟
使用步骤:1.获取AlarmManager实例---》2.定义一个PendingIntent发出广播----》3.调用AlarmManager的方法,设设置定时或重复提醒;
1.AlarmManager alarmMgr = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
2.Intent intent = new Intent();
intent.setAction("xxx");
3.PendingIntent pendIntent = PendingIntent.getBroadcast();
//五秒后 alarm闹钟启动
4.alarmMgr.set(AlarmManager.RTC_WAKEUP,System.currentTimeMillis()+5*1000,pendIntent);
5.定义一个接收器 接收处理
效果图:
代码如下:
1.发起闹钟广播
package com.example.alarmmanagertest;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.app.ActionBar;
import android.support.v4.app.Fragment;
import android.app.AlarmManager;
import android.app.PendingIntent;
import android.content.Intent;
import android.os.Bundle;
import android.os.SystemClock;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.os.Build;
public class MainActivity extends ActionBarActivity {
private Button buttonStart,buttonStop;
private static final String BC_ACTION = "com.li.naozhong";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
buttonStart = (Button) findViewById(R.id.button1);
buttonStop = (Button) findViewById(R.id.button2);
//1.获取AlarmManager实例
final AlarmManager alam = (AlarmManager) getSystemService(ALARM_SERVICE);
Intent intent = new Intent();
intent.setAction(BC_ACTION);
intent.putExtra("msg", "到点了 开饭啦");
//2.定义一个PendingIntent 并发出广播
final PendingIntent pendIntent = PendingIntent.getBroadcast(MainActivity.this, 0, intent, 0);
//开启闹钟
buttonStart.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
//五秒后发送广播 只发一次
long startTime = System.currentTimeMillis()+5*1000;
alam.set(AlarmManager.RTC_WAKEUP, startTime, pendIntent);
}
});
//取消闹钟
buttonStop.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
alam.cancel(pendIntent);
}
});
}
}
2.接收器代码块
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
import android.widget.Toast;
public class ShowNaoZhong extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
//获取提示信息
String msg = intent.getStringExtra("msg");
//显示信息
Log.i("Log", msg);
Toast.makeText(context, msg, Toast.LENGTH_LONG).show();
}
}
注意:要在AndroidManifest.xml文件中注册接收器
顾名思义就是“提醒”,是Android中常用的一种系统级别的提示服务;
AlarmManager的作用文档中的解释是:在特定的时刻为我们广播一个指定的Intent。
简单的说就是我们设定一个时间,然后在该时间到来时,AlarmManager为我们广播一个我们设定的Intent
常用的三个方法:
set:此方法用于设置一次性闹钟
setRepeating():此方法用于设置重复闹钟
setInexactRepeating():用于设置重复闹钟
使用步骤:1.获取AlarmManager实例---》2.定义一个PendingIntent发出广播----》3.调用AlarmManager的方法,设设置定时或重复提醒;
1.AlarmManager alarmMgr = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
2.Intent intent = new Intent();
intent.setAction("xxx");
3.PendingIntent pendIntent = PendingIntent.getBroadcast();
//五秒后 alarm闹钟启动
4.alarmMgr.set(AlarmManager.RTC_WAKEUP,System.currentTimeMillis()+5*1000,pendIntent);
5.定义一个接收器 接收处理
效果图:
代码如下:
1.发起闹钟广播
package com.example.alarmmanagertest;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.app.ActionBar;
import android.support.v4.app.Fragment;
import android.app.AlarmManager;
import android.app.PendingIntent;
import android.content.Intent;
import android.os.Bundle;
import android.os.SystemClock;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.os.Build;
public class MainActivity extends ActionBarActivity {
private Button buttonStart,buttonStop;
private static final String BC_ACTION = "com.li.naozhong";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
buttonStart = (Button) findViewById(R.id.button1);
buttonStop = (Button) findViewById(R.id.button2);
//1.获取AlarmManager实例
final AlarmManager alam = (AlarmManager) getSystemService(ALARM_SERVICE);
Intent intent = new Intent();
intent.setAction(BC_ACTION);
intent.putExtra("msg", "到点了 开饭啦");
//2.定义一个PendingIntent 并发出广播
final PendingIntent pendIntent = PendingIntent.getBroadcast(MainActivity.this, 0, intent, 0);
//开启闹钟
buttonStart.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
//五秒后发送广播 只发一次
long startTime = System.currentTimeMillis()+5*1000;
alam.set(AlarmManager.RTC_WAKEUP, startTime, pendIntent);
}
});
//取消闹钟
buttonStop.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
alam.cancel(pendIntent);
}
});
}
}
2.接收器代码块
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
import android.widget.Toast;
public class ShowNaoZhong extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
//获取提示信息
String msg = intent.getStringExtra("msg");
//显示信息
Log.i("Log", msg);
Toast.makeText(context, msg, Toast.LENGTH_LONG).show();
}
}
注意:要在AndroidManifest.xml文件中注册接收器
相关文章推荐
- 使用AlarmManager 多次定时提醒
- Android 定时执行任务 AlarmManager的使用(可用于闹钟开发)
- androidTV定时播放(闹钟)的使用--AlarmManager
- 使用setTimeout,实现定时提醒功能
- android 后台定时提醒(Service,AlarmManager的使用)
- Android AlarmManager实现不间断轮询服务(定时提醒功能)
- Android每天定时提醒功能、定时功能、闹钟
- 使用AlarmManager实现定时功能
- Android 设置定时提醒,AlarmManager简单使用
- Quartz的配置及使用和定时触发功能的实现
- 使用Quartz实现定时功能
- 在TFS 2010中使用邮件提醒功能(Email Notification)
- Android 使用AlarmManager设置闹钟
- 使用crontab排程来定时开启slockd灰名单与RBL过滤插件功能
- Linux中cron定时执行功能的使用
- 使用PhP免费发送定时短信(用于天气预报、定时提醒、短信祝福等等)
- Rexsee API介绍:Android定时任务Alarm,附基本的闹钟功能示例
- 实现可定时响起的闹钟----PendingIntent 与 AlarmManager 的运用
- OA里面定时提醒功能实现 .
- OA里面定时提醒功能实现