Android调用系统闹钟AlarmClock
目录
一、效果展示
二、代码实现
1、设置权限
2、UI (简单的按钮)
三、Activity
一、效果展示
二、代码实现
https://developer.android.com/reference/android/provider/AlarmClock?hl=enhttps://developer.android.com/reference/android/provider/AlarmClock?hl=en
1、设置权限
<uses-permission android:name="com.android.alarm.permission.SET_ALARM" />
2、UI (简单的按钮)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"android:layout_width="match_parent"android:layout_height="match_parent"android:background="#ffffff"android:fitsSystemWindows="true"android:orientation="vertical"><Buttonandroid:id="@+id/btAlarm"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center_horizontal"android:layout_marginTop="130dp"android:background="#E3DFDF"android:padding="10dp"android:text="设置闹钟"android:textColor="#000000"android:textIsSelectable="true"android:textSize="22dp" /></LinearLayout>
三、Activity
package com.example.myapplication.activity;import android.Manifest;
import android.app.TimePickerDialog;
import android.content.Intent;
import android.os.Bundle;
import android.provider.AlarmClock;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.TimePicker;import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;import com.example.myapplication.R;
import com.example.myapplication.utils.PermissionUtil;import java.util.ArrayList;
import java.util.Calendar;/*** Created by tzbc*/
public class AlarmActivity extends AppCompatActivity implements View.OnClickListener {private static final String TAG = "AlarmActivity";private Button btAlarm;private TimePickerDialog timePickerDialog;private Calendar calendar;@Overrideprotected void onCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.alarm_activity);calendar = Calendar.getInstance();btAlarm = findViewById(R.id.btAlarm);btAlarm.setOnClickListener(this);}@Overridepublic void onClick(View v) {if (v == null) {return;}if (v.getId() == R.id.btAlarm) {Log.v(TAG, "click btAlarm");boolean hasAlarmPermission = PermissionUtil.judgeHasPermissions(this, Manifest.permission.SET_ALARM);Log.v(TAG, "hasAlarmPermission = " + hasAlarmPermission);if (!hasAlarmPermission) {Log.e(TAG, "alarm permission not granted");return;}showTimeDialog();}}private void showTimeDialog() {timePickerDialog = new TimePickerDialog(this, new TimePickerDialog.OnTimeSetListener() {@Overridepublic void onTimeSet(TimePicker view, int hourOfDay, int minute) {Log.e(TAG, "onTimeSet hourOfDay: " + hourOfDay + ", minute: " + minute);setAlarm(hourOfDay, minute);}}, calendar.get(Calendar.HOUR_OF_DAY), calendar.get(Calendar.MINUTE), true);timePickerDialog.show();}private void setAlarm(int hour, int minute) {Intent intent = new Intent(AlarmClock.ACTION_SET_ALARM);intent.putExtra(AlarmClock.EXTRA_HOUR, hour);intent.putExtra(AlarmClock.EXTRA_MINUTES, minute);intent.putExtra(AlarmClock.EXTRA_MESSAGE, "tzbc");intent.putExtra(AlarmClock.EXTRA_VIBRATE, true);intent.putExtra(AlarmClock.EXTRA_SKIP_UI, true);ArrayList<Integer> days = new ArrayList<>();days.add(Calendar.SUNDAY);days.add(Calendar.MONDAY);days.add(Calendar.TUESDAY);days.add(Calendar.WEDNESDAY);days.add(Calendar.THURSDAY);days.add(Calendar.FRIDAY);days.add(Calendar.SATURDAY);intent.putExtra(AlarmClock.EXTRA_DAYS, days);boolean resolvedActivity = intent.resolveActivity(getPackageManager()) != null;Log.v(TAG, "resolvedActivity = " + resolvedActivity);try {startActivity(intent);} catch (Exception e) {e.printStackTrace();}}}
Android调用系统闹钟AlarmClock相关推荐
- android 调用系统播放器
今天,简单讲讲android如何调用手机自带的播放器. 昨天,从服务器下载一个AVI的视频,下载后需要进行播放,所以想调用系统自带的播放器.但是由于很少用到,所以自己当时不知道怎么写,于是在网上查找资 ...
- linux 短信功能,Android调用系统短信功能发送短信
Android调用系统短信功能发送短信有两种方法: 第一种,设定发送的号码,和内容,界面没有联系人,群组组等按钮,如下图所示: 代码如下: Uri smsToUri = Uri.parse(" ...
- android 默认浏览器 视频播放 二维码,Android调用系统默认浏览器访问的方法
一.启动android默认浏览器 这样子,android就可以调用起手机默认的浏览器访问. 二.指定相应的浏览器访问 1.指定android自带的浏览器访问 ( "com.android.b ...
- android系统应用程序,Android调用系统应用程序
Android调用系统应用程序: 1.直接拨打电话: Intent callIntent = new Intent(Intent.ACTION_CALL, Uri .parse("tel:1 ...
- Android调用系统相机拍照并保存到指定位置
Android调用系统相机拍照并保存到指定位置 @Click(R.id.btn_takePhoto)void onclick() {Intent intent = new Intent(MediaSt ...
- android安装自动打开网页,Android调用系统自带浏览器打开网页的实现方法
Android调用系统自带浏览器打开网页的实现方法 在Android中可以调用自带的浏览器,或者指定一个浏览器来打开一个链接.只需要传入一个uri,可以是链接地址. 启动android默认浏览器 在A ...
- Android调用系统分享和指定app分享-微信朋友圈图文分享和qq分享
Android调用系统分享和指定app分享-微信朋友圈图文分享和qq分享 标签: Android系统分享QQ分享朋友圈图文分享 2016-09-27 22:54 279人阅读 评论(0) 收藏 举报 ...
- Qt Android 调用系统文件管理
1.了解 使用JNI扩展Qt应用 参考<Qt on Android核心编程>15章 源码https://download.csdn.net/download/dinosaurx/10149 ...
- Android 调用系统裁剪,适配11和12及手机
前言:发现Android 调用系统裁剪时,在各Android 版本出现各种问题,踩了一堆坑,做一下总结,免得以后忘记 后面会有完整裁剪代码 1,一加手机报错 intent.putExtra(" ...
- android 图库管理,Android调用系统图库
上面一篇讲到Android调用系统相机时遇到的兼容性问题,没想到选择系统图库的时候竟然也遇到了系统兼容性问题,在这里记录下解决方案吧. 首先是调用系统默认图库代码: Intent intent = n ...
最新文章
- Java常见面试题(持续更新)
- 计算机学具制作,一种具有防护功能的计算机编程学具的制作方法
- 为什么Android变得对商业世界至关重要?
- 【学习笔记】HTTP通讯基础
- LintCode-第k大元素
- zabbix proxy mysql_zabbix proxy 配置
- 深度神经网络 轻量化_正则化对深度神经网络的影响
- 关于黑马JavaWeb教程注册登录案例报错
- 前端页面实现在线预览文档Word、Excel、PPT、PDF
- 【Proteus仿真】PIC12C672单片机+LM317可调数显稳压电源1.3V~25V
- JAVA毕业设计飞羽羽毛球馆管理系统计算机源码+lw文档+系统+调试部署+数据库
- 斯坦福CS224N学习笔记-10 机器翻译和注意力模型
- 使用java调用阿里云车牌识别API
- echarts图表y轴数据设置为固定值,等间距,如何自定义echarts图表y轴数据
- 文件系统可视化与文件管理
- Linux系列 使用vi文本编辑器
- ELADMIN学习第一次
- 线程安全的集合和map有哪些?
- glusterfs之heketi 部署
- dubbo+zookeper实现分布式服务部署实例
热门文章
- marked + mathjax 实现支持数学公式的 markdown 转 html
- ICPC Greater New York Region 2020 L Evenly Separated Strings
- 腾讯员工税后收入 250 万,年终奖是100个月工资?在大厂工作究竟有多赚钱?
- MyBatis之ResultMap结果集映射
- PAAS平台(摘360百科)
- coolnbsp;sensor/image/videonbsp;technbsp;cou…
- 问题及解决方法记录:A component required a bean of type ‘org.springframework.web.client.RestTemplate‘ that cou
- 专业的音乐创作类软件,Helio最新版软件可以帮助用户处理音乐创作中遇到的各种问题。
- 从百度“童年英雄的AI幻想”互动展说起,看AI如何赋能艺术?
- 链路(link)与数据链路(data link)