0

나는 이전에이 질문을했지만 누군가 내가 충분히 설명하지 않았고 응답을 downvoted했고 upvote로 돌아 오지 않았다고 설명했다. 설명을 추가 한 후에 대답을했지만. 이제는 아무도 그 스레드에 대한 해결책을 제공하는 데 관심이 없습니다. 그래서 나는 다시 여기에서 그것을 묻고있다.알람 알림 앱 재개시 대화 상자 재개

사용자가 알람을 설정하고 응용 프로그램이 OK 버튼이있는 메시지를 보여주는 화면 (앱이 현재 활성화되어 있거나 백그라운드에서 살해되었거나 종료 된 화면)을 팝업 할 것으로 예상되는 애플리케이션이 있습니다. 이런 식으로 뭔가 :

enter image description here

시나리오 1 : 해피 흐름

응용 프로그램을 열고

    시간 알람 위해입니다
  • 를 실행, 알람 대화 상자와 화면에 팝업 메시지와 OK 버튼을 누르면 알람이 울리기 시작합니다.
  • 사용자가 확인 버튼을 클릭하면 알람을인지합니다.
  • 대화 상자가 닫히고 알람이 울리는 것을 멈추고 -> finish()는 OK의 onClick 메서드에서 호출됩니다.

시나리오 2 : 문제있는 흐름 응용 프로그램이 백그라운드로되어

    시간 알람 위해입니다
  • , 알람 대화 메시지와 OK 버튼을 사용하여 화면에 팝업 및 알람이 시작 반지.
  • 사용자가 확인을 클릭하여 알림을 닫습니다. -> 알람이 중지되고 대화 상자가 닫힙니다. -> 사용자가 최근 항목으로 이동 -> 앱을 다시 시작합니다. -> 알람 대화 상자가 다시 나타나고 알람이 울립니다.

주기를 종료하고 응용 프로그램의 홈 페이지로 돌아갈 수있는 유일한 방법은 최근 사용에서 응용 프로그램을 죽이고 응용 프로그램을 다시 시작하거나 아이콘을 클릭하는 대신 최근 사용에서 그것을 다시 시작하여 응용 프로그램을 다시 시작하는 것입니다.

내가 시도 무엇

:

알람 화면의 OK 버튼을 호출 마무리() 그래서 활동을 기대하고는 OK의 클릭에 파괴된다. 또한 경보 통지 활동은 매니페스트에서 noHistory = "true"로 표시되며 인 텐트에는 플래그가 FLAG_ACTIVITY_CLEAR_TOP이므로 삭제되지 않고 저장되지 않습니다.

프로그래밍 방식으로 확인을 클릭하면 내 집 활동을 시작하는 것은 효과가있는 해결책 중 하나이지만 해결 방법이 없다면 그 경로로 가고 싶지 않습니다. 나는 확신한다.

어디에서나 내가 본 두 가지 해결책은 백 스택에서 제거 된 활동을 다시 표시하지 않는 것입니다. 그러나 이것들은 나를 위해 트릭을하지 않는 것처럼 보입니다. 나는 빠진 뭔가 초등 저울이있을 것이라고 확신하지만, 내 인생은 그것이 무엇인지 생각하거나 찾지 못한다.

답변

0

안드로이드 알람 setRepeating()을 사용한다고 가정합니다. 사용자가 확인 버튼을 클릭하면 알람을 취소해야합니다.

PendingIntent sender = PendingIntent.getBroadcast(this, 0, intent, 0); 
AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE); 
alarmManager.cancel(sender); 
+0

알았어. 그래서 당신은 내가 경보를 취소하고 있지 않다는 것을 알았습니다.그러나이 경우에 무슨 일이 일어나는지 확인을 클릭하면 내 recents에서 내 앱을 다시 시작할 때 onCreate라는 알림 대화 상자 (Android 활동)가 호출됩니다. 벨소리가 울리기 시작하도록 설정되어 있습니다. 다시 알람이 울리는 알람 자체는 아닙니다.이 경우 앱의 대화 상자가 안드로이드에 의해 선택되어 다시 시작될 수 있습니다. 아마도 내 앱에서 마지막으로 알려진 * 활성 * 활동 이었기 때문일 수 있습니다. . 그래서 나는 배낭에서의 활동을 없애고 속임수를 쓰고 있다고 느낍니까? – LeoNeo

+0

언급하기 만하면 지금 확인을 클릭하여 알람을 취소하고 있습니다. 그리고 나는 backstack에서 활동을 없애는 방법을 모르겠다. 내가 원하는 행동은 ... 시간이 올 때 경보 대화 상자가 나타납니다 -> 사용자가 확인을 클릭합니다 -> 대화가 해제되었습니다 -> 사용자가갑니다 앱을 다시 쓰고 다시 시작하려면 -> 앱은 앱이 새로 시작된 것처럼 홈 화면을 표시합니다. – LeoNeo

+0

알림 대화 상자를 사용하셨습니까? 그렇다면 [이 페이지] (http://stackoverflow.com/questions/14853325/how-to-dismiss-alertdialog-in-android)를 확인하십시오. –