android 系统级闹铃,Android 设置系统闹铃和日历
释放双眼,带上耳机,听听看~!
一、创建定时器
设置权限
案例
https://developer.android.com/reference/android/provider/AlarmClock.html#EXTRA_MESSAGE
public void createAlarm(String message, int hour, int minutes) {
Intent intent = new Intent(AlarmClock.ACTION_SET_ALARM)
.putExtra(AlarmClock.EXTRA_MESSAGE, message)
.putExtra(AlarmClock.EXTRA_HOUR, hour)
.putExtra(AlarmClock.EXTRA_MINUTES, minutes);
if (intent.resolveActivity(getPackageManager()) != null) {
startActivity(intent);
}
}
可重复闹铃
EXTRA_DAYS
一个 ArrayList,其中包括应重复触发该闹铃的每个周日。 每一天都必须使用 Calendar 类中的某个整型值(如 MONDAY)进行声明。
对于一次性闹铃,无需指定此 extra。
参考
https://developer.android.google.cn/guide/components/intents-common.html?hl=zh-cn#Clock
创建系统定时器
public void startTimer(String message, int seconds) {
Intent intent = new Intent(AlarmClock.ACTION_SET_TIMER)
.putExtra(AlarmClock.EXTRA_MESSAGE, message)
.putExtra(AlarmClock.EXTRA_LENGTH, seconds)
.putExtra(AlarmClock.EXTRA_SKIP_UI, true);
if (intent.resolveActivity(getPackageManager()) != null) {
startActivity(intent);
}
}
二、添加日历事件
添加权限
添加日历事件
https://developer.android.com/reference/android/provider/AlarmClock.html#EXTRA_MESSAGE
public void addEvent(String title, String location, Calendar begin, Calendar end) {
Intent intent = new Intent(Intent.ACTION_INSERT)
.setData(Events.CONTENT_URI)
.putExtra(Events.TITLE, title)
.putExtra(Events.EVENT_LOCATION, location)
.putExtra(CalendarContract.EXTRA_EVENT_BEGIN_TIME, begin)
.putExtra(CalendarContract.EXTRA_EVENT_END_TIME, end);
if (intent.resolveActivity(getPackageManager()) != null) {
startActivity(intent);
}
}
三、通过ContentProvider设置日历
uri matcher
private static String CALANDER_URL = "content://com.android.calendar/calendars";
private static String CALANDER_EVENT_URL = "content://com.android.calendar/events";
private static String CALANDER_REMIDER_URL = "content://com.android.calendar/reminders";
插入
/**
* 增加日历提醒事件
* @param activity
* @param dataEntity
* @param isRecord
* @return
*/
public static boolean addCalendarReminder(Activity activity,DataEntity dataEntity, boolean isRecord){
if (!AactivityCompat.hasPermissions(activity, Manifest.permission.WRITE_CALENDAR, Manifest.permission.READ_CALENDAR)) {
return false;
}
try {
// Calendar startCalendar = Calendar.getInstance();
// long startTime = startCalendar.getTimeInMillis() + 8 * 60 * 1000;
long startTime = dataEntity.getRemind_time();
// Calendar endCalendar = Calendar.getInstance();
// long endTime = endCalendar.getTimeInMillis() + 50 * 60 * 1000;
long endTime = startTime + 10 * 60 * 1000;
String remindTitle = dataEntity.getTitle();
// 日历事件
ContentValues calEvent = new ContentValues();
calEvent.put(CalendarContract.Events.CALENDAR_ID, 1); // XXX pick)
calEvent.put(CalendarContract.Events.TITLE, remindTitle);
calEvent.put(CalendarContract.Events.DTSTART, startTime);
calEvent.put(CalendarContract.Events.DTEND, endTime);
calEvent.put(CalendarContract.Events.HAS_ALARM, 1);
calEvent.put(CalendarContract.Events.EVENT_TIMEZONE, CalendarContract.Calendars.CALENDAR_TIME_ZONE);
ContentResolver cr = activity.getContentResolver();
if (null == cr) {
return false;
}
try {
Uri uri = cr.insert(CalendarContract.Events.CONTENT_URI, calEvent);
if (null == uri) {
return false;
}
int eventId = Integer.parseInt(uri.getLastPathSegment());
/** 记录code 记录eventId **/
if (isRecord) {
saveEventCode(dataEntity.getProduct_code());
saveEventId(eventId);
}
// 日历提醒
ContentValues reminders = new ContentValues();
reminders.put(CalendarContract.Reminders.EVENT_ID, eventId);
reminders.put(CalendarContract.Reminders.METHOD, CalendarContract.Reminders.METHOD_ALERT);
reminders.put(CalendarContract.Reminders.MINUTES, REMIND_MINUTES);
cr.insert(CalendarContract.Reminders.CONTENT_URI, reminders);
return true;
} catch (SecurityException ignore) {}
} catch (Exception ignore) {}
return false;
}
android 系统级闹铃,Android 设置系统闹铃和日历相关推荐
- window7系统syskey加密计算机,用Win7系统的Syskey命令来设置系统的启动密码
不论电脑安装的是何种操作系统,或多或少都会存在一些安全隐患,为了保护好系统以及资料的安全性,下面教大家利用Win7系统的Syskey命令来设置系统的启动密码,给Win7系统增加一个安全锁. Syske ...
- Android 使用反射机制获取或设置系统属性(SystemProperties)
网上有很多介绍,但是感觉比较混乱!由于自己能力有限,只做一些简单易懂的介绍. 一.获取和设置SystemProperties属性的代码 下面是通过反射来获取和设置系统属性的代码 public fina ...
- android 12.0 第三方输入法app设置系统默认输入法
1.概述 在12.0的产品开发中,有功能需要要求设置默认输入法,替换掉系统的输入法,所以这就需要了解设置输入法的相关功能需求,然后根据输入法包名来设置默认输入法 2.第三方输入法app设置系统默认输入 ...
- android 10.0 第三方输入法app设置系统默认输入法
目录 1.概述 2.第三方输入法app设置系统默认输入法的核心类
- linux 系统时间 硬件时间,linux 设置系统时间和硬件时间
linux 的系统时间有时跟硬件时间是不同步的 Linux时钟分为系统时钟(System Clock)和硬件(Real Time Clock,简称RTC)时钟.系统时钟是指当前Linux Kernel ...
- Android系统之路(初识MTK) ------ 设置系统默认语言/客制化可选语言/设置默认时区
在这一版本的平板系统定制中,客户需要定制系统默认语言,默认英语,可选语种分别是 语言代码 国家/地区 bn_BD 孟加拉语(孟加拉) en_US 英文 ar ...
- 点歌服务器定时关闭系统,iOS 基础教程:设置系统自带的睡眠计时器,定时关闭音乐播放...
笔者经常在睡前听音乐,然后便呼呼大睡.有时候却忘记将音乐关闭,直到第二天早上醒来才发现.所幸的是,iOS 设备自带了设置定时关闭音乐播放的功能. 使用 iOS 设备预装的「时钟」应用程序,你可以设置一 ...
- Android 系统(194)---Android实践 -- 设置系统日期时间和时区
Android实践 -- 设置系统日期时间和时区 转自:https://www.cnblogs.com/Free-Thinker/p/6627813.html 设置系统日期时间和时区 设置系统的日期时 ...
- Android App 设置系统时间,语言和时区、系统重启
文章目录 说明 1. 修改系统时间 1. 设置系统时间(仅设置xx:xx) 2. 设置系统日期(仅设置到xxxx年xx月xx日) 3.设置系统是否自动获取时间 4.判断系统是否自动获取时间 2. 修改 ...
- 【Android 逆向】Android 权限 ( Android 逆向中使用的 android.permission 权限 | Android 系统中的 Linux 用户权限 )
文章目录 一.Android 逆向中使用的 android.permission 权限 二.Android 系统中的 Linux 用户权限 一.Android 逆向中使用的 android.permi ...
最新文章
- python正态分布随机数_Python使用numpy产生正态分布随机数的向量或矩阵操作示例...
- java byte转bigdecimal_Java BigDecimal byteValueExact()用法及代码示例
- webcrypto库下载_使用WebCrypto API的电子签名
- Windows编程之互动与动画
- Python进阶之“属性(property)”详解
- 文件在IDEA中已进行Git的Commit操作,使其从暂存区提交到本地仓库,但是未Push到远程仓库,此时进行Pull操作出现代码冲突
- 工作展望简短_元旦祝福语大全简短
- Tomcat:JAVA_HOME should point to a JDK not a JRE解决
- ps图片放大后模糊怎么办?
- Smart Thief 问题
- Xcode6 app沙盒目录
- python自动化测试登录_自动化测试(二)如何用python写一个用户登陆功能
- 多块英伟达K80显卡linux安装,ubuntu14.04下NVIDIA Tesla K80 、GTX1080顯卡驅動以及Tensorflow、Python的安裝教程...
- js判断浏览器是否为IE
- 计算机网络 考博试题,计算机网络考博题集及参考答案9
- 解惑:心智模式决定你的一生
- 编写程序,输入n,使用while循环控制语句输出从1-n之间的偶数,用半角空格间隔...
- php上传flv,使用PHP上传.WMV和.FLV
- python cx oracle 11g,怎么在python中使用cx_Oracle模块连接Oracle数据库
- 金融高富帅PK金融民工——职业规划方法论
热门文章
- CCLE:肿瘤细胞系百科全书
- HTML5期末大作业:商城网站设计——仿天猫商城(9页) HTML+CSS大作业_ 网页制作作业_疫情防控网页设计...
- typora 有道云笔记_利用神器Typora+PicGo,实现有道云不用会...
- 利用python查询电脑配置_干货|利用Python将地址转换为经纬度坐标
- 基于STM32单片机的远程智能浇花花盆GSM短信浇水补光方案原理图程序设计
- 虚拟机复制镜像操作方法
- R语言生存分析:Cox回归
- 苹果手机软件闪退怎么解决_王者荣耀筑梦祈愿闪退设备不支持怎么办 王者荣耀筑梦祈愿闪退设备不支持解决方法...
- GreenDao的简单学习(附带demo源码)
- iOS App 唤醒另一个App