android– 无法阻止来自其他活动的响铃警报

android– 无法阻止来自其他活动的响铃警报,第1张

概述我是android的新手,我在练习我的第一个应用程序(AlarmApp).我的应用程序中有一个问题是,一旦触发警报就无法停止警报它继续响铃无法停止.在我的应用程序中,我有2个活动和一个AlarmReceiver.从AlarmActivity.java我设置了警报,当达到特定时间时,Alarmreceiver.java将被触发,警报

我是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

我尝试了很多方法来解决这个问题,但是我错过了一些我无法解决的问题.

任何人都可以帮助我停止触发警报并发出响铃声.

解决方法:

你的架构坏了.您不使用broadcastReceiver进行持久处理. broadcastReceiver的生命周期非常短,您可以使用它来触发其他事情.

您已在broadcastReceiver中创建了一个MediaPlayer实例,并试图在onReceive()中控制它.这是错的.您应该使用服务来管理和维护MediaPlayer的状态.

看看你是否可以在互联网上找到一些HOWTO指南,了解如何构建这样的应用程序.

总结

以上是内存溢出为你收集整理的android – 无法阻止来自其他活动的响铃警报全部内容,希望文章能够帮你解决android – 无法阻止来自其他活动的响铃警报所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1103884.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存