Android 如何停止闹钟铃声?

Android 如何停止闹钟铃声?,android,alarmmanager,alarm,ringtone,Android,Alarmmanager,Alarm,Ringtone,大家好,我正在做一个报警应用程序。这是我的闹钟和闹钟接收器。我为闹钟设置了铃声。但当这段时间过去后,铃声打开了,我等了1分钟,2分钟,但它没有关闭。那么,我能做些什么来关闭它呢 要在延迟后取消铃声,您可以在ringtone.play()之后向BroadcastReceiver添加一个Handler任务,如下所示: 要在延迟后取消铃声,您可以在ringtone.play()之后向BroadcastReceiver添加一个Handler任务,如下所示: 你试过铃声了吗。停止()?你试过铃声了吗。停止

大家好,我正在做一个报警应用程序。这是我的闹钟和闹钟接收器。我为闹钟设置了铃声。但当这段时间过去后,铃声打开了,我等了1分钟,2分钟,但它没有关闭。那么,我能做些什么来关闭它呢


要在延迟后取消铃声,您可以在
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