Android 如何停止闹钟铃声?
大家好,我正在做一个报警应用程序。这是我的闹钟和闹钟接收器。我为闹钟设置了铃声。但当这段时间过去后,铃声打开了,我等了1分钟,2分钟,但它没有关闭。那么,我能做些什么来关闭它呢Android 如何停止闹钟铃声?,android,alarmmanager,alarm,ringtone,Android,Alarmmanager,Alarm,Ringtone,大家好,我正在做一个报警应用程序。这是我的闹钟和闹钟接收器。我为闹钟设置了铃声。但当这段时间过去后,铃声打开了,我等了1分钟,2分钟,但它没有关闭。那么,我能做些什么来关闭它呢 要在延迟后取消铃声,您可以在ringtone.play()之后向BroadcastReceiver添加一个Handler任务,如下所示: 要在延迟后取消铃声,您可以在ringtone.play()之后向BroadcastReceiver添加一个Handler任务,如下所示: 你试过铃声了吗。停止()?你试过铃声了吗。停止
要在延迟后取消铃声,您可以在
ringtone.play()之后向BroadcastReceiver
添加一个Handler
任务,如下所示:
要在延迟后取消铃声,您可以在ringtone.play()之后向BroadcastReceiver
添加一个Handler
任务,如下所示:
你试过铃声了吗。停止()?你试过铃声了吗。停止()?
public static void removeAlarm(Context context, long id){
AlarmManager alarmManager;
PendingIntent pendingIntent;
alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
Intent myIntent = new Intent(context, AlarmReceiver.class);
pendingIntent = PendingIntent.getBroadcast(context, (int) id, myIntent, 0);
if(alarmManager != null)
alarmManager.cancel(pendingIntent);
}
public class AlarmReceiver extends BroadcastReceiver {
private Ringtone ringtone = null;
@Override
public void onReceive(Context context, Intent intent) {
Toast.makeText(context,"Alarm",Toast.LENGTH_LONG).show();
Uri uri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_ALARM);
ringtone = RingtoneManager.getRingtone(context, uri);
ringtone.play();
Intent x = new Intent(context,AlarmDialog.class);
context.startActivity(x);
}
final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
ringtone.stop();
}
}, 1000 * 60); // runs stop() after 1 minute