【发布时间】:2018-07-26 15:07:12
【问题描述】:
我是android新手,在这里我正在练习我的第一个应用程序(Alarm App)。
我的应用程序中存在一个问题,即一旦触发警报,我就无法停止警报,它一直在响,无法停止。
在我的应用中,我有 2 个活动和一个 AlarmReceiver。
从AlarmActivity.java我设置了闹钟,当达到特定时间时Alarmreceiver.java将被触发,闹钟开始响起并显示唤醒屏幕。
从 WakeUpScreen.java 我有一个停止按钮,使用它我需要停止当前的响铃。
我在 logcat 中也没有任何问题。
AlarmActivity.java
public void stopAlarm(Context context) {
Intent intent = new Intent(context,AlarmReceiver.class);
intent.setAction("ALARM_OFF");
PendingIntent pendingIntent = PendingIntent.getBroadcast(context, mAlarmId, intent,PendingIntent.FLAG_UPDATE_CURRENT);
AlarmManager alarmManager = (AlarmManager) context.getSystemService(ALARM_SERVICE);
alarmManager.cancel(pendingIntent);
}
我的 AlarmActivity.java 中有这个 AlarmStop() 函数,当我按下 wakeupscreen.java 中的停止按钮时会触发它
当我尝试调试停止进程时,调试器移动了 stopAlarm() 函数中的所有行,但 Intent 不起作用,这就是为什么没有调用 AlarmReceiver.java 文件的原因,我的意思是,调试器移动了上述方法中的所有行,但没有调用 AlarmReceiver.java
我尝试了很多方法来解决这个问题,但我错过了一些我无法解决的问题。
谁能帮我停止触发的警报和它的响声。
【问题讨论】:
-
你能帮我解决这个@Kling Klang
-
您不应该将您的媒体播放器连接到广播接收器。更好的方法是在收到广播后启动一个活动或服务,然后让这个活动或服务播放声音
-
我希望我在 stopAlarm() 函数中做到了@KlingKlang
标签: android alarmmanager android-pendingintent