首页 > 其他分享 >打卡APP之定闹钟

打卡APP之定闹钟

时间:2023-03-18 23:34:20浏览次数:46  
标签:Calendar APP public Intent 闹钟 import 之定 打卡 android

package com.example.daka;

import android.app.Activity;
import android.app.AlarmManager;
import android.app.PendingIntent;
import android.app.TimePickerDialog;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TimePicker;
import android.widget.Toast;

import java.util.Calendar;

public class PointerActivity extends Activity {
    private Button btn;
    private AlarmManager alarmManager;  //闹钟管理器

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_pointer);

        //获取闹钟管理器
        alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);

        btn = (Button)findViewById(R.id.set_clock);
        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                setClock(view);
            }
        });
    }

    public void setClock(View view){
        //获取当前系统时间
        Calendar calendar = Calendar.getInstance();
        int hour = calendar.get(Calendar.HOUR_OF_DAY);
        int minute = calendar.get(Calendar.MINUTE);

        //弹出闹钟框
        TimePickerDialog timePickerDialog = new TimePickerDialog(this, new TimePickerDialog.OnTimeSetListener() {
            @Override
            public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
                Calendar c = Calendar.getInstance();    //获取日期对象
                c.set(Calendar.HOUR_OF_DAY, hourOfDay); //设置闹钟小时数
                c.set(Calendar.MINUTE, minute); //设置闹钟分钟数
                Intent intent = new Intent(PointerActivity.this,AlarmReceiver.class);
                //创建pendingIntent
                PendingIntent pendingIntent = PendingIntent.getBroadcast(PointerActivity.this,0X102, intent,0);
                //设置闹钟
                alarmManager.set(AlarmManager.RTC_WAKEUP, c.getTimeInMillis(), pendingIntent);
                Toast.makeText(PointerActivity.this, "闹钟设置成功", Toast.LENGTH_SHORT).show();
            }
        },hour,minute,true);
        timePickerDialog.show();
    }
}
package com.example.daka;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;

public class AlarmActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        //显示闹钟提醒框
        new AlertDialog.Builder(AlarmActivity.this)
                .setTitle("闹钟")
                .setMessage("时间到了")
                .setPositiveButton("确定", new DialogInterface.OnClickListener(){
                    public void onClick(DialogInterface dialogInterface, int which) {
                        AlarmActivity.this.finish();
                    }
                }).create().show();
    }
}
package com.example.daka;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;

public class AlarmReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        Intent i = new Intent(context, AlarmActivity.class);
        i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        context.startActivity(i);
    }
}
<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    tools:context=".MainActivity">

    <Button
        android:id="@+id/set_clock"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="设置闹钟"/>
</LinearLayout>

原文连接:

https://www.jb51.net/article/262363.htm

标签:Calendar,APP,public,Intent,闹钟,import,之定,打卡,android
From: https://www.cnblogs.com/cinan/p/17232185.html

相关文章

  • 简单记事本app2
    ——注册——activity_login.xml注册页面设计<?xmlversion="1.0"encoding="utf-8"?><LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"......
  • 简单记事本app3
    ——登录之后——activity_function.xml   ListView实现滚动浏览,不过这一部分还没做完,目前浏览操作还没有连接上数据库<?xmlversion="1.0"encoding="utf-8"?><Li......
  • 打卡App登录页面
    packagecom.example.daka;importandroidx.appcompat.app.AlertDialog;importandroidx.appcompat.app.AppCompatActivity;importandroid.annotation.SuppressLint......
  • 简单的记事本app1
    (因为时间原因功能尚不全面,之后会继续更新)放一下目录结构,大体会用到这些——(有对应activity.xxx.xml的,创建的时候要创建activity,不要单独创建java文件)   ——这一篇......
  • 每日打卡
    Androidstdio连接数据库:(1)AndroidManifest.xml文件:<?xmlversion="1.0"encoding="utf-8"?><manifestxmlns:android="http://schemas.android.com/apk/res/android"......
  • 大型买返商城交易返利抢购小程序app定制开发h5源码二开搭建
    一.注册和登录1.可以通过手机验证码注册,也可以账号密码登录2.登录或者注册,须同意商家的协议或者规则二.主页面1.主界面分四个部分,分别是广告窗口,菜单栏,活动页面,商品展示三.......
  • 免登录积分商城兑换热门排行会员小程序app源码包售后二开
    一首页1.商品分类;根据商品的分类,可以更快找出心仪的商品2.广告窗口;广告轮播3.活动页面;显示当前的活动,活动时间活动内容,快捷进入活动页面4.商品展示;展示现有商品二疯狂排行1.......
  • [ABC245E] Wrapping Chocolate题解
    听说没人写,那就来一发。这种偏序问题大概率是要排个序的。将盒子和巧克力视为一个东西,\(c\)视为\(a\),\(d\)视为\(b\),放在一起以\(a\)为第一关键字,\(b\)为第二关键......
  • MT6737 android 7.0 竖屏横用后u盘以及下载app无法打开
    问题描述:MT6737android7.0竖屏横用后u盘以及下载app无法打开问题的原因:下载APP的布局不支持横屏显示修改方法:diff--gita/frameworks/base/packages/DocumentsUI/Androi......
  • CF1804F Approximate Diameter 题解
    前言在学校机房被学长推荐了这道题,听完正解后惊为天人...简化版题面给定一张无向连通图,定义直径\(d=\max(dis(i,j))\quad(i,j\inN)\),其中\(dis(i,j)\)指的是\(......