Android中Alarm的使用

alarmManager来设置自己的闹钟,其中我们主要用到的类有

创新互联公司是专业的滨海新区网站建设公司,滨海新区接单;提供成都网站设计、成都网站制作,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行滨海新区网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

 
 
 
  1. import Android.app.AlarmManager;    
  2. import android.app.PendingIntent;    
  3. import android.app.TimePickerDialog;   

这三个是我们必须要用到的类,大家可要记住呀,可不能用错包呀,还有就是最重要的一点,也是大家容易忘了的一点,我们一定要加上权限,这样我们才能顺利的实现我们想要的效果,代码如下:

java代码:

 
 
 
  1. package eoe.demo;   
  2. import android.content.BroadcastReceiver;   
  3. import android.content.Context;   
  4. import android.content.Intent;   
  5. import android.widget.Toast;   
  6. public class AlamrReceiver extends BroadcastReceiver {   
  7. @Override   
  8. public void onReceive(Context context, Intent intent) {   
  9. // TODO Auto-generated method stub   
  10. Toast.makeText(context, "闹钟时间到", Toast.LENGTH_LONG).show();   
  11. }   

Java代码:

 
 
 
  1. package eoe.demo;   
  2. import java.util.Calendar;   
  3. import android.app.Activity;   
  4. import android.app.AlarmManager;   
  5. import android.app.PendingIntent;   
  6. import android.app.TimePickerDialog;   
  7. import android.content.Intent;   
  8. import android.os.Bundle;   
  9. import android.view.View;   
  10. import android.widget.Button;   
  11. import android.widget.TextView;   
  12. import android.widget.TimePicker;   
  13. public class Test extends Activity {   
  14. /** Called when the activity is first created. */   
  15. private TextView tv = null;   
  16. private Button btn_set = null;   
  17. private Button btn_cel = null;   
  18. private Calendar c = null;   
  19. @Override   
  20. public void onCreate(Bundle savedInstanceState) {   
  21. super.onCreate(savedInstanceState);   
  22. setContentView(R.layout.main);   
  23. tv = (TextView) this.findViewById(R.id.TextView);   
  24. btn_set = (Button) this.findViewById(R.id.Button01);   
  25. btn_cel = (Button) this.findViewById(R.id.Button02);   
  26. c = Calendar.getInstance();   
  27. btn_set.setOnClickListener(new Button.OnClickListener(){   
  28. public void onClick(View v) {   
  29. // TODO Auto-generated method stub   
  30. c.setTimeInMillis(System.currentTimeMillis());   
  31. int hour = c.get(Calendar.HOUR_OF_DAY);   
  32. int minute = c.get(Calendar.MINUTE);   
  33. new TimePickerDialog(Test.this,new TimePickerDialog.OnTimeSetListener(){   
  34. public void onTimeSet(TimePicker view, int hourOfDay, int minute) {   
  35. // TODO Auto-generated method stub   
  36. c.setTimeInMillis(System.currentTimeMillis());   
  37. c.set(Calendar.HOUR_OF_DAY, hourOfDay);   
  38. c.set(Calendar.MINUTE, minute);   
  39. c.set(Calendar.SECOND, 0);   
  40. c.set(Calendar.MILLISECOND, 0);   
  41. Intent intent = new Intent(Test.this,AlamrReceiver.class);   
  42. PendingIntent pi = PendingIntent.getBroadcast(Test.this, 0, intent, 0);   
  43. AlarmManager am = (AlarmManager) getSystemService(Activity.ALARM_SERVICE);   
  44. am.set(AlarmManager.RTC_WAKEUP, c.getTimeInMillis(), pi);//设置闹钟   
  45. am.setRepeating(AlarmManager.RTC_WAKEUP, c.getTimeInMillis(), (10*1000), pi);//重复设置   
  46. tv.setText("设置的闹钟时间为:"+hourOfDay+":"+minute);   
  47. }   
  48. },hour,minute,true).show();   
  49. }   
  50. });   
  51. btn_cel.setOnClickListener(new Button.OnClickListener(){   
  52. public void onClick(View v) {   
  53. // TODO Auto-generated method stub   
  54. Intent intent = new Intent(Test.this,AlamrReceiver.class);   
  55. PendingIntent pi = PendingIntent.getBroadcast(Test.this, 0, intent, 0);   
  56. AlarmManager am = (AlarmManager) getSystemService(Activity.ALARM_SERVICE);   
  57. am.cancel(pi);   
  58. tv.setText("闹钟取消");   
  59. }   
  60. });   
  61. }   

Java代码:

 
 
 
  1.    
  2. android:orientation="vertical" android:layout_width="fill_parent"   
  3. android:layout_height="fill_parent">   
  4. android:id="@+id/TextView"   
  5. android:layout_height="wrap_content" android:text="@string/hello" />   
  6. android:layout_width="wrap_content"   
  7. android:layout_height="wrap_content">   
  8.    
  9. android:layout_width="wrap_content"   
  10. android:layout_height="wrap_content">   
  11.    
  12.  

Java代码:

 
 
 
  1.    
  2. package="eoe.demo"   
  3. android:versionCode="1"   
  4. android:versionName="1.0">   
  5.    
  6. android:label="@string/app_name">   
  7.    
  8.    
  9.    
  10.    
  11.    
  12.    
  13.    
  14.  

【编辑推荐】

Android开发中插入新的Activity

Android 多任务多线程断点下载

Android开发之旅:Android架构

常用的Android指令和模拟器参数

在Android应用程序中使用Internet数据

网页标题:Android中Alarm的使用
URL地址:http://www.shufengxianlan.com/qtweb/news43/39693.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联