本文实例讲述了Android手机闹钟用法。分享给大家供大家参考。具体如下:

一、开发手机闹钟主要用到了AlarmManager类,AlarmManager类提供了访问系统定时服务的途径,开发人员可以在程序中设置某个应用程序在未来的某个时刻被执行。当AlarmManager定时时间到了之后,当初注册的Intent对象将会被系统广播,进而启动目标程序。

二、在程序运行时当需要使用AlarmManager类时,可以通过Context对象的getSystemService(Context.ALARM_SERVICE)方法来获得AlarmManager对象。

以下程序中使用时间选择对话框设置闹钟的时间。

main.xml布局文件:

android:orientation="vertical"

android:layout_width="fill_parent"

android:layout_height="fill_parent">

android:text="设置闹钟"

android:layout_width="fill_parent"

android:layout_height="wrap_content" />

清单文件:

package="com.ljq.activity" android:versionCode="1"

android:versionName="1.0">

android:label="@string/app_name">

android:label="@string/app_name">

android:name="android.intent.category.LAUNCHER" />

AlarmReceiver类:

package com.ljq.activity;

import android.content.BroadcastReceiver;

import android.content.Context;

import android.content.Intent;

public class AlarmReceiver extends BroadcastReceiver{

@Override

public void onReceive(Context context, Intent intent) {

Intent i=new Intent(context, AlarmActivity.class);

i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

context.startActivity(i);

}

}

AlarmActivity类:

package com.ljq.activity;

import android.app.Activity;

import android.app.AlertDialog;

import android.content.DialogInterface;

import android.content.DialogInterface.OnClickListener;

import android.os.Bundle;

public class AlarmActivity extends Activity {

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

//显示对话框

new AlertDialog.Builder(AlarmActivity.this).

setTitle("闹钟").//设置标题

setMessage("时间到了!").//设置内容

setPositiveButton("知道了", new OnClickListener(){//设置按钮

public void onClick(DialogInterface dialog, int which) {

AlarmActivity.this.finish();//关闭Activity

}

}).create().show();

}

}

MainActivity类:

package com.ljq.activity;

import java.util.Calendar;

import android.app.Activity;

import android.app.AlarmManager;

import android.app.Dialog;

import android.app.PendingIntent;

import android.app.TimePickerDialog;

import android.content.Context;

import android.content.Intent;

import android.os.Bundle;

import android.view.View;

import android.widget.Button;

import android.widget.TimePicker;

import android.widget.Toast;

public class MainActivity extends Activity{

private Button btn=null;

private AlarmManager alarmManager=null;

Calendar cal=Calendar.getInstance();

final int DIALOG_TIME = 0; //设置对话框id

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

alarmManager=(AlarmManager)getSystemService(Context.ALARM_SERVICE);

btn=(Button)findViewById(R.id.btn);

btn.setOnClickListener(new View.OnClickListener(){

public void onClick(View view) {

showDialog(DIALOG_TIME);//显示时间选择对话框

}

});

}

@Override

protected Dialog onCreateDialog(int id) {

Dialog dialog=null;

switch (id) {

case DIALOG_TIME:

dialog=new TimePickerDialog(

this,

new TimePickerDialog.OnTimeSetListener(){

public void onTimeSet(TimePicker timePicker, int hourOfDay,int minute) {

Calendar c=Calendar.getInstance();//获取日期对象

c.setTimeInMillis(System.currentTimeMillis()); //设置Calendar对象

c.set(Calendar.HOUR, hourOfDay); //设置闹钟小时数

c.set(Calendar.MINUTE, minute); //设置闹钟的分钟数

c.set(Calendar.SECOND, 0); //设置闹钟的秒数

c.set(Calendar.MILLISECOND, 0); //设置闹钟的毫秒数

Intent intent = new Intent(MainActivity.this, AlarmReceiver.class); //创建Intent对象

PendingIntent pi = PendingIntent.getBroadcast(MainActivity.this, 0, intent, 0); //创建PendingIntent

//alarmManager.set(AlarmManager.RTC_WAKEUP, c.getTimeInMillis(), pi); //设置闹钟

alarmManager.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), pi); //设置闹钟,当前时间就唤醒

Toast.makeText(MainActivity.this, "闹钟设置成功", Toast.LENGTH_LONG).show();//提示用户

}

},

cal.get(Calendar.HOUR_OF_DAY),

cal.get(Calendar.MINUTE),

false);

break;

}

return dialog;

}

}

运行结果:

希望本文所述对大家的Android程序设计有所帮助。

android手机闹钟程序,Android手机闹钟用法实例相关推荐

  1. Android 进程 缓存服务,Android获取应用程序大小和缓存的实例代码

    info package com.qin.appsize; import android.content.Intent; import android.graphics.drawable.Drawab ...

  2. android小闹钟程序,Android实现闹钟小程序.pdf

    Android实实现现闹闹钟钟小小程程序序 这篇文章主要为大家详细介绍了Android实现闹钟小程序,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 最近写了 闹钟的程序,看到SharedPrefe ...

  3. android系统应用程序,Android系统应用程序基本概念解读

    经常关注我们51CTO的朋友们应该知道,在以前的文章中我们对Android这一手机系统有一个详细的跟踪介绍,方便大家学习应用这一新的功能强大的开源手机系统,比如对Android源码的编译的解析的解析等 ...

  4. 苹果自带的清理软件_手机:手机垃圾该怎么清理才流畅?四步让手机流畅如飞|手机|应用程序|安卓手机|病毒...

    大家知道,目前的手机系统有苹果和安卓之分,苹果手机一般会后台清理内存垃圾,但是安卓手机需要手动进行清理,随着制造商不断升级研发技术,当今的Android手机很少遇到严重的死机现象,偶尔的死机现象也可以 ...

  5. android调用微信程序,Android如何测试微信小游戏小程序?

    "微信小游戏性能评测标准建立的初衷是希望能引导开发者优化相关性能数据,提升用户体验.评测标准根据小游戏整体的性能数据表现.玩家体验评价,结合操作系统.机型分档.网络条件等多种维度建立.&qu ...

  6. android espresso跨程序,Android Espresso:依次运行多个测试

    我正在尝试使用Espresso for Android进行一系列测试.运行之间似乎没有关闭活动.一次测试后,无论应用程序状态如何,左侧为下一次测试. 如何用Espresso来实现? 错误报告中提供的修 ...

  7. android 基础应用程序,android应用程序基本实现(基础篇).ppt

    <android应用程序基本实现(基础篇).ppt>由会员分享,可在线阅读,更多相关<android应用程序基本实现(基础篇).ppt(22页珍藏版)>请在人人文库网上搜索. ...

  8. android关键应用程序,Android应用程序基础.pdf

    创新自我 创造价值 创新办公室Innovation Office www innovation 创新办公室 Innovation Office www innovation 周行 admin zhou ...

  9. android 进程 应用程序,Android中的每个活动都是一个进程,或者一个应用程序是一个进程...

    All activities inside an application run in one process? 这取决于应用程序清单中android:process属性的值. 如果没有为清单中的应用 ...

  10. android 密码解锁程序,android 仿ios数字密码解锁界面的实例

    如下所示: 每个Android开发人员都知道,现在android的解锁最常用的就是九宫格解锁,ios的解锁常用的是数字密码解锁.而我们在开发工程中,很多时候,都需要android和ios进行结合.有的 ...

最新文章

  1. Android中Broadcast
  2. mysql数据库查询缓存_MySQL查询缓存与数据库管理
  3. 交叉分解(Cross decomposition)、典型关联分析(Canonical Correlation Analysis,CCA)、偏最小二乘回归PLS
  4. 关于VMFS6 Block 1M 512M 说明
  5. 记事本写python怎么运行-python入门之一个简单记事本
  6. 初中人教版电子课本app_电子课本|2020秋 部编人教版初中历史七年级上册教材电子课本(高清更新可打印)...
  7. 行业发展的大势所趋 嵌入式机器视觉系统前景一片大好
  8. xbox one 越狱_如何在Xbox One上播放视频和音乐文件
  9. 补习系列(2)-springboot mime类型处理
  10. 95-25-010-命令-topic 创建过程
  11. const VS readonly
  12. python给list添加元素_Python中给List添加元素的4种方法分享
  13. Ubuntu安装Qt以及配置步骤
  14. Typora免费版下载【Mac、Windows】
  15. 2005世界五百强排名
  16. pt100铂电阻低温温度传感器的特点
  17. QT 科学计算器与谷歌拼音输入法实现
  18. JavaEE进阶——Spring学习笔记
  19. 计算机上语音是什么符号,语音
  20. 微信小程序---倒计时

热门文章

  1. 创业4年女掌门刘静瑜,创造动力电池,中创新航市值超600亿
  2. matlab GUI界面变量值传递到其他.m文件
  3. 友善之臂 NANO T3 运行裸机程序
  4. curry化 js_JavaScript实现柯里化(curry)函数的思路和源码
  5. 《为何佛不显身制止战争?》
  6. Clouda 之我见
  7. 国产哈希算法WJLHA(六):自定义哈希长度的WJLHA3开源(JAVASCRIPT)
  8. click与onclick的区别
  9. 高效的word转换成pdf转换器
  10. truncate 释放表空间