报警信号后的java弹出窗口
我想知道-如何在AlarmManager
调用时显示弹出窗口?我已经创建了AlarmManager
现在我需要创建一些东西来显示弹出窗口以取消此警报
我的代码:
public void setAlarm(long timeInMillis){
if(Build.VERSION.SDK_INT >= 23){
mCalendar.set(
mCalendar.get(Calendar.MONTH),
mCalendar.get(Calendar.YEAR),
mCalendar.get(Calendar.DAY_OF_YEAR),
mCalendar.get(Calendar.HOUR_OF_DAY),
mCalendar.get(Calendar.MINUTE)
);
}
final AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
Intent intent = new Intent(this, MyAlarm.class);
intent.setData(currentUri);
final PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, intent, 0);
alarmManager.setExact(AlarmManager.RTC, timeInMillis, pendingIntent);
}
及
public class MyAlarm extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
MediaPlayer mediaPlayer = MediaPlayer.create(context, Settings.System.DEFAULT_RINGTONE_URI);
mediaPlayer.start();
}
}
# 1 楼答案
这应该能解决你的问题
在代码发布之前:
我们可以使用挂起的意图,也可以让一个活动来处理挂起的意图。或者使用处理程序来执行代码
在这两种情况下,创建一个对话框片段,然后使用适当的上下文来显示它。对话框片段按钮的setOnClickListener{alarmManager.cancel}
根据报警管理器的设置方式,可能需要更多的解释