Android 代码设置本地闹钟、定时器

本文介绍了如何在Android应用中使用`AlarmClock`API创建闹钟和定时器,包括在`AndroidManifest.xml`中设置权限,以及如何设置自定义消息和定时长度。
摘要由CSDN通过智能技术生成

权限-放到 AndroidManifest.xml 文件中

<uses-permission android:name="com.android.alarm.permission.SET_ALARM" />

一、闹钟

createAlarm("提醒消息",10,11);

/*闹钟*/
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);    //确认存在对应Activity组件再开启
        }
    }

二、定时器

startTimer("标签",30);

/*定时器*/
    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);  //一个布尔型值,用于指定响应定时器的应用在设置定时器时是否应跳过其 UI。
        //若为 true,则应用应跳过任何确认 UI,直接启动指定的定时器。
        if (intent.resolveActivity(getPackageManager()) != null)
        {
            startActivity(intent);  //确认存在对应Activity组件再开启
        }
    }

全部代码

import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.provider.AlarmClock;
import androidx.annotation.Nullable;

public class MainActivity  extends AppCompatActivity  {

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        createAlarm("123",10,11);
        startTimer("456",30);

    }

    /*闹钟*/
    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);    //确认存在对应Activity组件再开启
        }
    }
    /*定时器*/
    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);  //一个布尔型值,用于指定响应定时器的应用在设置定时器时是否应跳过其 UI。
        //若为 true,则应用应跳过任何确认 UI,直接启动指定的定时器。
        if (intent.resolveActivity(getPackageManager()) != null)
        {
            startActivity(intent);  //确认存在对应Activity组件再开启
        }
    }
}

  • 7
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值