繁体   English   中英

如何使用AlarmClock在android中设置闹钟日期

[英]How to set day of alarm in android by using AlarmClock

我们可以在android中创建带有意图的警报

        Intent i = new Intent(AlarmClock.ACTION_SET_ALARM); 
    i.putExtra(AlarmClock.EXTRA_MESSAGE, "New Alarm"); 
    i.putExtra(AlarmClock.EXTRA_HOUR, 23); 
    i.putExtra(AlarmClock.EXTRA_MINUTES, 11); 

我们想在创建警报时添加day属性。 但是,AlarmClock不包含有关“ Extra_Day_Week”的属性,因此我们未设置警报日期。 您有使用意图ve闹钟解决此问题的想法吗

感谢您的创意回应

可以帮助您:

    Calendar cal = Calendar.getInstance();

    cal.setTimeInMillis(System.currentTimeMillis());
    cal.clear();
    cal.set(2012,2,8,18,16);// instead of these lines you can use below lines in comment

    //cal.set(Calendar.HOUR_OF_DAY, 16);
    //cal.set(Calendar.MINUTE, 25);
    //cal.set(Calendar.SECOND, 0);
    //cal.set(Calendar.MILLISECOND, 0);

    AlarmManager alarmMgr = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
    Intent intent = new Intent(this, AlarmReceiver.class);
    PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, intent, 0);

    alarmMgr.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), pendingIntent);

您可能会忘记添加AndroidManifest.xml的权限

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

该属性称为EXTRA_DAYS

您可以像这样使用它:

ArrayList<Integer> alarmDays = new ArrayList<>();
alarmDays.add(Calendar.MONDAY);
alarmDays.add(Calendar.WEDNESDAY);
alarmDays.add(Calendar.FRIDAY);

Intent i = new Intent(AlarmClock.ACTION_SET_ALARM);
i.putExtra(AlarmClock.EXTRA_DAYS, alarmDays);
i.putExtra(AlarmClock.EXTRA_HOUR, 23);
i.putExtra(AlarmClock.EXTRA_MINUTES, 11);
i.putExtra(AlarmClock.EXTRA_MESSAGE, "New Alarm");    
i.putExtra(AlarmClock.EXTRA_VIBRATE, true);

startActivity(i);

任何其他发现此问题的用户,请不要忘记请求权限! (在清单中)

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM