How to stop an alarm ringing instantly?
I can set and cancel alarm by following class and function
Alarm.java Class
public class Alarm extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
MediaPlayer mediaPlayer=MediaPlayer.create(context,
Settings.System.DEFAULT_RINGTONE_URI);
mediaPlayer.start();
}
}
the setAlarm Method
private void setAlarm(long diff,int id) throws ParseException {
AlarmManager alarmManager=(AlarmManager)getSystemService(ALARM_SERVICE);
Intent intent=new Intent(this,Alarm.class);
PendingIntent pendingIntent=PendingIntent.getBroadcast(getApplicationContext(),id,intent,0);
alarmManager.set(AlarmManager.RTC,System.currentTimeMillis()+diff,pendingIntent);
//Toast.makeText(this,"Alarm is set and diff= "+diff,Toast.LENGTH_SHORT).show();
}
the cancelAlarm method
private void cancelAlarm(){
AlarmManager alarmManager=(AlarmManager)getSystemService(Context.ALARM_SERVICE);
Intent intent=new Intent(this,Alarm.class);
PendingIntent pendingIntent=PendingIntent.getBroadcast(this,id,intent,PendingIntent.FLAG_UPDATE_CURRENT);
alarmManager.cancel(pendingIntent);
Toast.makeText(this,"Alarm is cancelled",Toast.LENGTH_SHORT).show();
}
The problem is that this cancel method can cancel the alarm before the alarm ring,if I call the cancel method during the alarm is ringing the alarm still rings it's full time and then stop.How can I make the alarm stop ringing instantly as soon as the method is called?
add a comment |
I can set and cancel alarm by following class and function
Alarm.java Class
public class Alarm extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
MediaPlayer mediaPlayer=MediaPlayer.create(context,
Settings.System.DEFAULT_RINGTONE_URI);
mediaPlayer.start();
}
}
the setAlarm Method
private void setAlarm(long diff,int id) throws ParseException {
AlarmManager alarmManager=(AlarmManager)getSystemService(ALARM_SERVICE);
Intent intent=new Intent(this,Alarm.class);
PendingIntent pendingIntent=PendingIntent.getBroadcast(getApplicationContext(),id,intent,0);
alarmManager.set(AlarmManager.RTC,System.currentTimeMillis()+diff,pendingIntent);
//Toast.makeText(this,"Alarm is set and diff= "+diff,Toast.LENGTH_SHORT).show();
}
the cancelAlarm method
private void cancelAlarm(){
AlarmManager alarmManager=(AlarmManager)getSystemService(Context.ALARM_SERVICE);
Intent intent=new Intent(this,Alarm.class);
PendingIntent pendingIntent=PendingIntent.getBroadcast(this,id,intent,PendingIntent.FLAG_UPDATE_CURRENT);
alarmManager.cancel(pendingIntent);
Toast.makeText(this,"Alarm is cancelled",Toast.LENGTH_SHORT).show();
}
The problem is that this cancel method can cancel the alarm before the alarm ring,if I call the cancel method during the alarm is ringing the alarm still rings it's full time and then stop.How can I make the alarm stop ringing instantly as soon as the method is called?
YourrequestCodeforPendingIntentshould be same to cancel the Alarm.
– ADM
Jan 20 at 15:16
edited.I also tried with it. but not stop ringing instantly.
– Tishat Ahasan
Jan 20 at 15:22
Its your code which is Ringing the Alarm notAlarmManager. On cancellation just provide an event to yourAlarmReceiver class to stop theMediaPlayer.
– ADM
Jan 20 at 15:25
I do not know how to do it. :(
– Tishat Ahasan
Jan 20 at 15:45
add a comment |
I can set and cancel alarm by following class and function
Alarm.java Class
public class Alarm extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
MediaPlayer mediaPlayer=MediaPlayer.create(context,
Settings.System.DEFAULT_RINGTONE_URI);
mediaPlayer.start();
}
}
the setAlarm Method
private void setAlarm(long diff,int id) throws ParseException {
AlarmManager alarmManager=(AlarmManager)getSystemService(ALARM_SERVICE);
Intent intent=new Intent(this,Alarm.class);
PendingIntent pendingIntent=PendingIntent.getBroadcast(getApplicationContext(),id,intent,0);
alarmManager.set(AlarmManager.RTC,System.currentTimeMillis()+diff,pendingIntent);
//Toast.makeText(this,"Alarm is set and diff= "+diff,Toast.LENGTH_SHORT).show();
}
the cancelAlarm method
private void cancelAlarm(){
AlarmManager alarmManager=(AlarmManager)getSystemService(Context.ALARM_SERVICE);
Intent intent=new Intent(this,Alarm.class);
PendingIntent pendingIntent=PendingIntent.getBroadcast(this,id,intent,PendingIntent.FLAG_UPDATE_CURRENT);
alarmManager.cancel(pendingIntent);
Toast.makeText(this,"Alarm is cancelled",Toast.LENGTH_SHORT).show();
}
The problem is that this cancel method can cancel the alarm before the alarm ring,if I call the cancel method during the alarm is ringing the alarm still rings it's full time and then stop.How can I make the alarm stop ringing instantly as soon as the method is called?
I can set and cancel alarm by following class and function
Alarm.java Class
public class Alarm extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
MediaPlayer mediaPlayer=MediaPlayer.create(context,
Settings.System.DEFAULT_RINGTONE_URI);
mediaPlayer.start();
}
}
the setAlarm Method
private void setAlarm(long diff,int id) throws ParseException {
AlarmManager alarmManager=(AlarmManager)getSystemService(ALARM_SERVICE);
Intent intent=new Intent(this,Alarm.class);
PendingIntent pendingIntent=PendingIntent.getBroadcast(getApplicationContext(),id,intent,0);
alarmManager.set(AlarmManager.RTC,System.currentTimeMillis()+diff,pendingIntent);
//Toast.makeText(this,"Alarm is set and diff= "+diff,Toast.LENGTH_SHORT).show();
}
the cancelAlarm method
private void cancelAlarm(){
AlarmManager alarmManager=(AlarmManager)getSystemService(Context.ALARM_SERVICE);
Intent intent=new Intent(this,Alarm.class);
PendingIntent pendingIntent=PendingIntent.getBroadcast(this,id,intent,PendingIntent.FLAG_UPDATE_CURRENT);
alarmManager.cancel(pendingIntent);
Toast.makeText(this,"Alarm is cancelled",Toast.LENGTH_SHORT).show();
}
The problem is that this cancel method can cancel the alarm before the alarm ring,if I call the cancel method during the alarm is ringing the alarm still rings it's full time and then stop.How can I make the alarm stop ringing instantly as soon as the method is called?
edited Jan 20 at 15:21
Tishat Ahasan
asked Jan 20 at 15:01
Tishat AhasanTishat Ahasan
295
295
YourrequestCodeforPendingIntentshould be same to cancel the Alarm.
– ADM
Jan 20 at 15:16
edited.I also tried with it. but not stop ringing instantly.
– Tishat Ahasan
Jan 20 at 15:22
Its your code which is Ringing the Alarm notAlarmManager. On cancellation just provide an event to yourAlarmReceiver class to stop theMediaPlayer.
– ADM
Jan 20 at 15:25
I do not know how to do it. :(
– Tishat Ahasan
Jan 20 at 15:45
add a comment |
YourrequestCodeforPendingIntentshould be same to cancel the Alarm.
– ADM
Jan 20 at 15:16
edited.I also tried with it. but not stop ringing instantly.
– Tishat Ahasan
Jan 20 at 15:22
Its your code which is Ringing the Alarm notAlarmManager. On cancellation just provide an event to yourAlarmReceiver class to stop theMediaPlayer.
– ADM
Jan 20 at 15:25
I do not know how to do it. :(
– Tishat Ahasan
Jan 20 at 15:45
Your
requestCode for PendingIntent should be same to cancel the Alarm.– ADM
Jan 20 at 15:16
Your
requestCode for PendingIntent should be same to cancel the Alarm.– ADM
Jan 20 at 15:16
edited.I also tried with it. but not stop ringing instantly.
– Tishat Ahasan
Jan 20 at 15:22
edited.I also tried with it. but not stop ringing instantly.
– Tishat Ahasan
Jan 20 at 15:22
Its your code which is Ringing the Alarm not
AlarmManager . On cancellation just provide an event to your Alarm Receiver class to stop the MediaPlayer.– ADM
Jan 20 at 15:25
Its your code which is Ringing the Alarm not
AlarmManager . On cancellation just provide an event to your Alarm Receiver class to stop the MediaPlayer.– ADM
Jan 20 at 15:25
I do not know how to do it. :(
– Tishat Ahasan
Jan 20 at 15:45
I do not know how to do it. :(
– Tishat Ahasan
Jan 20 at 15:45
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54277717%2fhow-to-stop-an-alarm-ringing-instantly%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54277717%2fhow-to-stop-an-alarm-ringing-instantly%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Your
requestCodeforPendingIntentshould be same to cancel the Alarm.– ADM
Jan 20 at 15:16
edited.I also tried with it. but not stop ringing instantly.
– Tishat Ahasan
Jan 20 at 15:22
Its your code which is Ringing the Alarm not
AlarmManager. On cancellation just provide an event to yourAlarmReceiver class to stop theMediaPlayer.– ADM
Jan 20 at 15:25
I do not know how to do it. :(
– Tishat Ahasan
Jan 20 at 15:45