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:

  • 相关阅读:
    mysql for update 高并发 死锁研究
    IntelliJ IDEA导航特性Top20
    idea工具
    图片水印处理-temp
    idea常用快捷键列表
    编写MyLayer,2 锚点,3 精灵的创建,4 zorder
    CSS学习(十六)-HSLA颜色模式
    android中LocalBroadcastManager的使用
    什么是鸭子类型(duck typing)
    线程应用的场景
  • 原文地址:https://www.cnblogs.com/lzpq/p/13149714.html
Copyright © 2011-2022 走看看