赞
踩
在Android Studio中,通过AlarmManager实现闹钟提醒。
点击“SET ALARM”后,采用Toast方式提示用于设定的闹钟成功,并包含设定的闹钟启用时间。
当闹钟生效时,采用AlertDialog实现闹钟题型,并通过AlertDialog支持的setItems方式[1],提示用户选择三种后续动作:(1)自动设定在当前时间的1分钟生效的闹钟,(2)自动设定在当前时间的2分钟生效的闹钟,(3)不再设定新的闹钟。
当用户选定“(1)自动设定在当前时间的1分钟生效的闹钟”或“(2)自动设定在当前时间的2分钟生效的闹钟”后,闹钟生效后,仍按照以上方式提供给用户上述三种选择。
当用户选定“(3)不再设定新的闹钟”后,通过AlertDialog提供的setMessage方式,询问用户是否确认不再设定新的闹钟并提供“是”和“否”两个操作按钮,如果用户选择“否”,则跳转到使用AlarmManager设定闹钟的页面,如果用户选择“是”,则通过Notification方式为用户提供通知[1],在用户下拉点击通知消息后,跳转到第三次实验的主页面,并要求该页面能够正确完成第三次实验的各项要求。
Win11 Androidstudio
创建一个新的Java类,命名为"AlarmReceiver",并将以下代码添加到该类中:
- 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) {
-
- // 在这里添加你要执行的操作,比如播放音乐或者弹出通知等
-
- }
-
- }
MainActivity.java类中添加以下代码:
- import android.app.AlarmManager;
-
- import android.app.PendingIntent;
-
- 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 MainActivity extends AppCompatActivity {
-
-
-
- private TimePickertimePicker;
-
- private Button btnSetAlarm;
-
- private AlarmManageralarmManager;
-
- private PendingIntentpendingIntent;
-
-
-
- @Override
-
- protected void onCreate(Bundle savedInstanceState) {
-
- super.onCreate(savedInstanceState);
-
- setContentView(R.layout.activity_main);
-
-
-
- timePicker = findViewById(R.id.timePicker);
-
- btnSetAlarm = findViewById(R.id.btnSetAlarm);
-
-
-
- alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
-
-
-
- Intent intent = new Intent(MainActivity.this, AlarmReceiver.class);
-
- pendingIntent = PendingIntent.getBroadcast(MainActivity.this, 0, intent, 0);
-
-
-
- btnSetAlarm.setOnClickListener(new View.OnClickListener() {
-
- @Override
-
- public void onClick(View view) {
-
- Calendar calendar = Calendar.getInstance();
-
- calendar.set(Calendar.HOUR_OF_DAY, timePicker.getCurrentHour());
-
- calendar.set(Calendar.MINUTE, timePicker.getCurrentMinute());
-
-
-
- long alarmTime = calendar.getTimeInMillis();
-
-
-
- alarmManager.set(AlarmManager.RTC_WAKEUP, alarmTime, pendingIntent);
-
-
-
- Toast.makeText(MainActivity.this, "闹钟设置成功!", Toast.LENGTH_SHORT).show();
-
- }
-
- });
-
- }
-
- }
最后,在AndroidManifest.xml文件中添加以下权限:
<uses-permission android:name="android.permission.VIBRATE" />
注册AlarmReceiver类:
<receiver android:name=".AlarmReceiver" />
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。