zoukankan      html  css  js  c++  java
  • 使用AlermManager设置闹钟

    直接上代码
    activity_main.xml

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".MainActivity">
        <TimePicker
            android:id="@+id/time"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>
        <Button
            android:id="@+id/set"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_centerHorizontal="true"
            android:text="设置闹钟"/>
    </RelativeLayout>
    

    MainActivity.java

    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            final TimePicker timePicker = findViewById(R.id.time);
            timePicker.setIs24HourView(true);//设置使用24小时制
            Button button = findViewById(R.id.set);
            //为"设置闹钟"按钮添加单击监听事件
            button.setOnClickListener(new View.OnClickListener(){
                @Override
                public void onClick(View v) {
                    //设置闹钟
                    Intent intent = new Intent
                            (MainActivity.this,AlarmActivity.class);
                    PendingIntent pendingIntent = PendingIntent.getActivity(
                            MainActivity.this,0,intent,0);
                    AlarmManager alarm = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
                    Calendar c = Calendar.getInstance();//获取日历对象
                    c.set(Calendar.HOUR_OF_DAY,timePicker.getCurrentHour());//设置闹钟小时数
                    c.set(Calendar.MINUTE,timePicker.getCurrentMinute());//设置闹钟分钟数
                    c.set(Calendar.SECOND,0);//
                    alarm.set(AlarmManager.RTC_WAKEUP,c.getTimeInMillis(),pendingIntent);
                    Toast.makeText(MainActivity.this,"设置闹钟成功",Toast.LENGTH_SHORT).show();
                }
            });
        }
    

    效果:

    闹钟类型:

    ELAPSED_REALTIME:指定的延时后提醒(不唤醒系统)
    ELAPSED_REALTIME_WAKEUP:

  • 相关阅读:
    [洛谷P4774] [NOI2018]屠龙勇士
    [洛谷P3338] [ZJOI2014]力
    [洛谷P1707] 刷题比赛
    svn查看指定版本提交信息的命令
    ajax无刷新上传文件
    给docker里的php安装gd扩展
    PHP基于openssl实现的非对称加密操作
    php获取文件扩展名
    javascript格式化日期
    javascript获取url参数
  • 原文地址:https://www.cnblogs.com/lzpq/p/13149714.html
Copyright © 2011-2022 走看看