Java 如何在android studio中实用地停止报警音
我的报警代码工作正常,因为默认铃声按时播放。但无法停止报警音。在receiver类中,我插入了以下代码Java 如何在android studio中实用地停止报警音,java,android,Java,Android,我的报警代码工作正常,因为默认铃声按时播放。但无法停止报警音。在receiver类中,我插入了以下代码 try { Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_ALARM); Ringtone r = RingtoneManager.getRingtone(context, notification); r.play(); } catch (Ex
try {
Uri notification = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_ALARM);
Ringtone r = RingtoneManager.getRingtone(context, notification);
r.play();
} catch (Exception e) {
e.printStackTrace();
}
我还在main类中插入了cancel the alarm的代码,该代码也可以很好地使用
alarmMgr.cancel(pendingIntent);
但一旦默认铃声开始播放,用户希望通过“停止”按钮停止播放,则该铃声将不起作用。
在带有stopbutton.setOnClickListener的main类中,我插入了以下代码
Intent intent = new Intent(getBaseContext(), Reciver.class);
stopService(intent);
我想它可以停在r.stop();
但是我应该如何在“停止”按钮中使用它。创建一个
铃声的全局实例
,然后在按钮上单击“使用”r.stop()
使用它在服务中执行操作。让我知道我是否正确理解了问题。创建一个铃声的全局实例,然后在按钮上单击使用r.stop()
使用此选项在服务中执行操作。如果我正确理解了问题,请告诉我。在您安排报警时注册的广播意图,但为了确保取消,您必须注册另一个意图,该意图将向系统广播取消事件
查看在cancel事件中工作正常的代码段
Intent intent = new Intent(this, YourReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(getApplicationContext(), 123, intent, 0);
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
alarmManager.cancel(pendingIntent);
在您计划报警时注册的广播意图,但为了确保取消,您必须注册另一个将向系统广播取消事件的意图
查看在cancel事件中工作正常的代码段
Intent intent = new Intent(this, YourReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(getApplicationContext(), 123, intent, 0);
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
alarmManager.cancel(pendingIntent);
没有,如果我没有错的话,你把停止按钮放在你自己的UI上,但它不工作,对吗?我在主布局中有三个按钮与主类连接。启动按钮呼叫报警管理器和唤醒接收器类(r.play在此类中),并且工作正常。取消按钮取消警报。现在第三个按钮是停止按钮。不,确切地说,如果我没有错,你把停止按钮放在你自己的UI上,但它不工作,对吗?我在主布局中有三个按钮与主类连接。启动按钮呼叫报警管理器和唤醒接收器类(r.play在此类中),并且工作正常。取消按钮取消警报。现在第三个按钮是停止按钮。我按照你的建议做了编码,它工作了。非常感谢兄弟。如果这对你有帮助的话,请把它投上去,它也会对别人有帮助。怎么做呢?我应该选择上面的箭头吗?好的,我正在这样做,它说“谢谢你的反馈!那些声誉低于15的人所投的票会被记录下来,但不要改变公开显示的帖子分数。我按照你的建议进行了编码,结果成功了。非常感谢兄弟。如果这对你有帮助的话,请把它投上去,它也会对别人有帮助。怎么做呢?我应该选择上面的箭头吗?好的,我正在这样做,它说“谢谢你的反馈!记录那些声誉低于15的人的投票,但不要改变公开显示的帖子分数。”。