Android 简单闹钟的制作(MediaStore)
来源:互联网 发布:2017网民数据 编辑:程序博客网 时间:2024/05/05 03:52
MediaStore简介
(一) AlarmManager的使用机制有的称呼为全局定时器,有的称呼为闹钟,它的作用和Timer有点相似,有两种用法:
1.在指定时长后执行某项操作
2.周期性的执行某项操作
(二) AlarmManager对象配合Intent使用,可以定时的开启一个Activity,发送一个BroadCast,或者开启一个Service
第一步:
package com.geek.clock;
import java.util.Calendar;
import android.app.Activity;
import android.app.AlarmManager;
import android.app.PendingIntent;
import android.app.TimePickerDialog;
import android.app.TimePickerDialog.OnTimeSetListener;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.TimePicker;
import android.widget.Toast;
public class MainActivity extends Activity {
/** Called when the activity is first created. */
public int hour;
public int minute;
public AlarmManager am;
PendingIntent opIntent;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
am=(AlarmManager) getSystemService(Context.ALARM_SERVICE);
}
//单次闹钟
public void single(View view){
//时间对话框
Calendar c=Calendar.getInstance();
c.setTimeInMillis(System.currentTimeMillis());
TimePickerDialog tpd=new TimePickerDialog(MainActivity.this,new MyOnTimeSetListener() , c.get(Calendar.HOUR_OF_DAY), c.get(Calendar.MINUTE), true);
tpd.show();
}
//重复闹钟
public void repetition(View view){
//时间对话框(用来设置时间)
Calendar c=Calendar.getInstance();
c.setTimeInMillis(System.currentTimeMillis());
TimePickerDialog tpd=new TimePickerDialog(MainActivity.this,new MyOnTimeSetListener() , c.get(Calendar.HOUR_OF_DAY), c.get(Calendar.MINUTE), true);
tpd.show();
}
//取消闹钟
public void remove(View view){
am.cancel(opIntent);
Toast.makeText(MainActivity.this, "取消成功", 1000).show();
}
//监听
public class MyOnTimeSetListener implements OnTimeSetListener{
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
// TODO Auto-generated method stub
//设置闹钟
Calendar calendar=Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.set(calendar.HOUR_OF_DAY, hourOfDay);
calendar.set(calendar.MINUTE, minute);
//发送广播
Intent intent=new Intent();
intent.setAction("com.geek.phonebroadcast");
opIntent=PendingIntent.getBroadcast(MainActivity.this, 1000, intent,0);
//设置一个单次闹钟
//am.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), opIntent);
//设置一个重复闹钟
am.setRepeating(
AlarmManager.RTC_WAKEUP, //提醒类型
calendar.getTimeInMillis(), //
10000, //间隔
opIntent ); //
}
}
}
(一) AlarmManager的使用机制有的称呼为全局定时器,有的称呼为闹钟,它的作用和Timer有点相似,有两种用法:
1.在指定时长后执行某项操作
2.周期性的执行某项操作
(二) AlarmManager对象配合Intent使用,可以定时的开启一个Activity,发送一个BroadCast,或者开启一个Service
第一步:
package com.geek.clock;
import java.util.Calendar;
import android.app.Activity;
import android.app.AlarmManager;
import android.app.PendingIntent;
import android.app.TimePickerDialog;
import android.app.TimePickerDialog.OnTimeSetListener;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.TimePicker;
import android.widget.Toast;
public class MainActivity extends Activity {
/** Called when the activity is first created. */
public int hour;
public int minute;
public AlarmManager am;
PendingIntent opIntent;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
am=(AlarmManager) getSystemService(Context.ALARM_SERVICE);
}
//单次闹钟
public void single(View view){
//时间对话框
Calendar c=Calendar.getInstance();
c.setTimeInMillis(System.currentTimeMillis());
TimePickerDialog tpd=new TimePickerDialog(MainActivity.this,new MyOnTimeSetListener() , c.get(Calendar.HOUR_OF_DAY), c.get(Calendar.MINUTE), true);
tpd.show();
}
//重复闹钟
public void repetition(View view){
//时间对话框(用来设置时间)
Calendar c=Calendar.getInstance();
c.setTimeInMillis(System.currentTimeMillis());
TimePickerDialog tpd=new TimePickerDialog(MainActivity.this,new MyOnTimeSetListener() , c.get(Calendar.HOUR_OF_DAY), c.get(Calendar.MINUTE), true);
tpd.show();
}
//取消闹钟
public void remove(View view){
am.cancel(opIntent);
Toast.makeText(MainActivity.this, "取消成功", 1000).show();
}
//监听
public class MyOnTimeSetListener implements OnTimeSetListener{
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
// TODO Auto-generated method stub
//设置闹钟
Calendar calendar=Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.set(calendar.HOUR_OF_DAY, hourOfDay);
calendar.set(calendar.MINUTE, minute);
//发送广播
Intent intent=new Intent();
intent.setAction("com.geek.phonebroadcast");
opIntent=PendingIntent.getBroadcast(MainActivity.this, 1000, intent,0);
//设置一个单次闹钟
//am.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), opIntent);
//设置一个重复闹钟
am.setRepeating(
AlarmManager.RTC_WAKEUP, //提醒类型
calendar.getTimeInMillis(), //
10000, //间隔
opIntent ); //
}
}
}
0 0
- Android 简单闹钟的制作(MediaStore)
- android闹钟的制作
- 简单的android闹钟
- android 制作的精美闹钟
- android 制作的精美闹钟
- android 闹钟的简单实现
- Android实现简单的闹钟
- Alarmmanager制作简单闹钟功能
- Android实战—闹钟的简单实现
- android值制作简易的闹钟和通知栏信息
- android值制作简易的闹钟和通知栏信息
- pythonUI学习实践(1)制作自己的闹钟
- Android开发学习之闹钟功能的简单实现
- Android通过AlarmManager类实现最简单的闹钟
- android mediastore
- android mediaStore
- android mediaStore
- Android MediaStore
- Socket的读取超时与连接超时
- Mercurial与TortoiseHg使用入门教程
- WWDC2014代码和视频下载
- 浅谈iOS和Android的产品交互设计:iPhone和Android的控件对比
- as3.0 [Embed]标签嵌入外部资源
- Android 简单闹钟的制作(MediaStore)
- 类与继承
- Swift学习之十三:函数(Functions)
- 异常处理
- 计数排序
- java split 竖线 |
- Tab效果之radiogroup+fragment
- XML 新手入门基础知识
- css中图片定位之所有图标放在一张图上