释放双眼,带上耳机,听听看~!

一、创建定时器

设置权限

案例

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 设置系统闹铃和日历相关推荐

  1. window7系统syskey加密计算机,用Win7系统的Syskey命令来设置系统的启动密码

    不论电脑安装的是何种操作系统,或多或少都会存在一些安全隐患,为了保护好系统以及资料的安全性,下面教大家利用Win7系统的Syskey命令来设置系统的启动密码,给Win7系统增加一个安全锁. Syske ...

  2. Android 使用反射机制获取或设置系统属性(SystemProperties)

    网上有很多介绍,但是感觉比较混乱!由于自己能力有限,只做一些简单易懂的介绍. 一.获取和设置SystemProperties属性的代码 下面是通过反射来获取和设置系统属性的代码 public fina ...

  3. android 12.0 第三方输入法app设置系统默认输入法

    1.概述 在12.0的产品开发中,有功能需要要求设置默认输入法,替换掉系统的输入法,所以这就需要了解设置输入法的相关功能需求,然后根据输入法包名来设置默认输入法 2.第三方输入法app设置系统默认输入 ...

  4. android 10.0 第三方输入法app设置系统默认输入法

    目录 1.概述 2.第三方输入法app设置系统默认输入法的核心类

  5. linux 系统时间 硬件时间,linux 设置系统时间和硬件时间

    linux 的系统时间有时跟硬件时间是不同步的 Linux时钟分为系统时钟(System Clock)和硬件(Real Time Clock,简称RTC)时钟.系统时钟是指当前Linux Kernel ...

  6. Android系统之路(初识MTK) ------ 设置系统默认语言/客制化可选语言/设置默认时区

    在这一版本的平板系统定制中,客户需要定制系统默认语言,默认英语,可选语种分别是 语言代码      国家/地区 bn_BD      孟加拉语(孟加拉) en_US      英文  ar       ...

  7. 点歌服务器定时关闭系统,iOS 基础教程:设置系统自带的睡眠计时器,定时关闭音乐播放...

    笔者经常在睡前听音乐,然后便呼呼大睡.有时候却忘记将音乐关闭,直到第二天早上醒来才发现.所幸的是,iOS 设备自带了设置定时关闭音乐播放的功能. 使用 iOS 设备预装的「时钟」应用程序,你可以设置一 ...

  8. Android 系统(194)---Android实践 -- 设置系统日期时间和时区

    Android实践 -- 设置系统日期时间和时区 转自:https://www.cnblogs.com/Free-Thinker/p/6627813.html 设置系统日期时间和时区 设置系统的日期时 ...

  9. Android App 设置系统时间,语言和时区、系统重启

    文章目录 说明 1. 修改系统时间 1. 设置系统时间(仅设置xx:xx) 2. 设置系统日期(仅设置到xxxx年xx月xx日) 3.设置系统是否自动获取时间 4.判断系统是否自动获取时间 2. 修改 ...

  10. 【Android 逆向】Android 权限 ( Android 逆向中使用的 android.permission 权限 | Android 系统中的 Linux 用户权限 )

    文章目录 一.Android 逆向中使用的 android.permission 权限 二.Android 系统中的 Linux 用户权限 一.Android 逆向中使用的 android.permi ...

最新文章

  1. python正态分布随机数_Python使用numpy产生正态分布随机数的向量或矩阵操作示例...
  2. java byte转bigdecimal_Java BigDecimal byteValueExact()用法及代码示例
  3. webcrypto库下载_使用WebCrypto API的电子签名
  4. Windows编程之互动与动画
  5. Python进阶之“属性(property)”详解
  6. 文件在IDEA中已进行Git的Commit操作,使其从暂存区提交到本地仓库,但是未Push到远程仓库,此时进行Pull操作出现代码冲突
  7. 工作展望简短_元旦祝福语大全简短
  8. Tomcat:JAVA_HOME should point to a JDK not a JRE解决
  9. ps图片放大后模糊怎么办?
  10. Smart Thief 问题
  11. Xcode6 app沙盒目录
  12. python自动化测试登录_自动化测试(二)如何用python写一个用户登陆功能
  13. 多块英伟达K80显卡linux安装,ubuntu14.04下NVIDIA Tesla K80 、GTX1080顯卡驅動以及Tensorflow、Python的安裝教程...
  14. js判断浏览器是否为IE
  15. 计算机网络 考博试题,计算机网络考博题集及参考答案9
  16. 解惑:心智模式决定你的一生
  17. 编写程序,输入n,使用while循环控制语句输出从1-n之间的偶数,用半角空格间隔...
  18. php上传flv,使用PHP上传.WMV和.FLV
  19. python cx oracle 11g,怎么在python中使用cx_Oracle模块连接Oracle数据库
  20. 金融高富帅PK金融民工——职业规划方法论

热门文章

  1. CCLE:肿瘤细胞系百科全书
  2. HTML5期末大作业:商城网站设计——仿天猫商城(9页) HTML+CSS大作业_ 网页制作作业_疫情防控网页设计...
  3. typora 有道云笔记_利用神器Typora+PicGo,实现有道云不用会...
  4. 利用python查询电脑配置_干货|利用Python将地址转换为经纬度坐标
  5. 基于STM32单片机的远程智能浇花花盆GSM短信浇水补光方案原理图程序设计
  6. 虚拟机复制镜像操作方法
  7. R语言生存分析:Cox回归
  8. 苹果手机软件闪退怎么解决_王者荣耀筑梦祈愿闪退设备不支持怎么办 王者荣耀筑梦祈愿闪退设备不支持解决方法...
  9. GreenDao的简单学习(附带demo源码)
  10. iOS App 唤醒另一个App