Итак, я пытаюсь создать приложение, которое будет функционировать как будильник для телефонов Android, оно будет предупреждать пользователя в выбранное время. Когда появится экран предупреждения, пользователь может нажать уведомление или отложить, и приложение будет вызывать уведомление, а затем закрыть.Приложение не закрывается после завершения()
Однако, когда я нажимаю кнопку «Отсрочка» или кнопку уведомления, приложение не закрывается. Вместо этого приложение останавливает звук будильника и сводится к минимуму (так же, как когда пользователь прикасается к домашней кнопке). Если я коснусь последнего приложения, я могу снова открыть экран предупреждения.
Редактировать: Я знаю, что есть некоторые коды, такие как System.exit() или killProcess, так как этот код не рекомендуется, я предпочитаю избегать их использования. Причина, по которой я спрашиваю, заключается в том, что я проверил приложение реального времени, которое поставляется вместе с моим телефоном (4.3), и экран предупреждения будет закрыт после того, как я нажму кнопку повтора или отмена. Так что для меня должен быть способ сделать то же самое, не так ли?
Ответ Хорошо, так Sagar Pilkhwal пояснены ниже, и после прочтения других связанных проблем, я обнаружил, что нет «хорошего» способа, чтобы закрыть вам приложение по кодам, вы должны оставить эту опцию для пользователей или ОПЕРАЦИОННЫЕ СИСТЕМЫ. Если вы не хотите использовать System.exit или killProcess, но это плохие способы заставить ваше приложение закрыться.
Sagar Pilkhwal также может альтернативно использовать эту проблему, если вы не хотите, чтобы в последнем приложении появился ваш экран предупреждения, вы вызываете другое действие.
Однако, что касается этого случая и диспетчера аварийных сообщений в общем случае, откройте MainActivity, что приведет к неприятным материалам, поскольку MainActivity - это когда мы обрабатываем события Alarm. Потом я узнал еще одно решение, если вы не хотите, чтобы ваш экран предупреждения появляется в последнем приложении, просто добавьте
android:excludeFromRecents="true"
к вашей Alert.class деятельности в манифесте, или добавить Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS
намерению используется для запуска Alert.class.
Это приведет к другой проблеме, так как когда пользователь нажимает кнопку «Домой», будильник не отключается, и пользователь не может открыть последнее приложение для доступа к экрану предупреждения (он должен будет открыть приложение для этого). Я исправляю эту проблему, пытаясь обнаружить нажатие кнопки home button. Подробный ответ приведен ниже.
Рассмотрим сделать [минимальный, полный и проверяемый пример] (http://stackoverflow.com/help/mcve). Это много кода, и не все это необходимо для воспроизведения вашей проблемы. Было бы полезно включить язык, на который вы запрограммировали это и на каком устройстве (устройствах), для которого вы программируете. –
Спасибо, я отредактировал и удалил некоторые из этих кодов. В остальном я действительно не знаю, относится ли это к проблеме или нет (если я знаю, что тогда я не стану задавать этот вопрос), так что, чтобы быть в безопасности, я все еще сохраняю это. – Usin2705