Если приложение принудительно останавливается, выполнив шаги Settings-> Application-> ManageApplications -> -> Force Stop, вызывает ли андроид onDestroy для Activity или Application? (Если нет, есть ли способ узнать, умерло ли приложение из-за силовой остановки, вызванной пользователем).Сила Android Остановить обратный вызов приложения?
ответ
Принудительное прекращение приложения уничтожит весь процесс (т. Е. С Process.killProcess(int pid)
). Все ресурсы, связанные с приложением, будут удалены и освобождены ядром. Нет, нет никакого способа перехватить это действие.
Когда вы выпускаете приложение на рынок, консоль разработчика предоставит вам статистику относительно закрытия силы, сбоев и т. Д. (Если именно об этом вы спрашиваете).
Благодарим вас за ответ. – Chris
Короче говоря, нет, onDestroy()
не вызывается, и вы не можете этого сделать. Android не поддерживает его.
Более расширенный ответ ...
onDestroy()
не кажется, можно назвать в этом сценарии. Я протестировал это, пытаясь получить его Toast
меня до вызова super.onDestroy, но сообщение Toast
так и не появилось. (И согласно this post, onDestroy()
действительно ненадежен и не будет часто вызываться, если вообще, на телефонах, тогда как его можно вызвать на эмуляторе - так что имейте это в виду). Вместо этого вызывается killProcess()
, и мы не можем его перехватить.
Кроме того, в соответствии с принятым ответом в this post, мы не можем даже поймать и выполнить задачи после остановки пользователя.
Как и в большинстве случаев, нет гарантии, что 'onDestroy()' будет вызываться. –
Точно. Это уже сказано в моем ответе. – Mxyk
Извините, я не предлагал вам ошибиться ... просто хотел немного обобщить ответ («как в большинстве случаев»). Надеюсь, вы не против. :) –
№ Это не возможно. Я не рассматривал данный код Android, но я бы предположил, что «принудительная остановка» просто вызывает kill
идентификатор процесса вашего приложения. Таким образом, единственный способ, которым вы могли бы перехватить это, - это захватить сигналы, которые я не думаю, что Android позволяет.
Если вы были укоренены, вы могли бы сделать это, но не любым стандартным способом.
Умение обрабатывать сигналы будет, по-моему, довольно серьезным недостатком безопасности. : P –
- 1. Обратный вызов службы Android для разбитого приложения
- 2. Сила приложения Android для завершения
- 3. обратный вызов активности Android
- 4. Android: щелчок в WebView вызывает обратный вызов для приложения Android
- 5. Каков наилучший способ остановить рекурсивный обратный вызов?
- 6. Android ParseQuery.findInBackGround (обратный вызов), переданный обратный вызов никогда не вызывается
- 7. Сила приложения Android закрывается при отключении соединения
- 8. Обратный вызов в библиотеке android
- 9. Android cardView нажмите Обратный вызов
- 10. Android-приложение для приложения отключено, оно обеспечивает обратный вызов
- 11. Android асинхронный обратный вызов. При выходе из приложения UI сбой
- 12. Сила приложения закрывается при воспроизведении аудио android
- 13. Сила приложения Android закрыта при ее открытии
- 14. Сила приложения Android закрыта при запуске
- 15. Приложения для Android - Сила активности назад
- 16. Обратный вызов активности Android для Android
- 17. Обратный вызов после обработки углового приложения
- 18. сила Android приложений RTL
- 19. Остановить обратный отсчет javascript
- 20. Остановить фоновые приложения навсегда Android
- 21. Остановить восстановление приложения на Android
- 22. Как остановить поворот приложения Android?
- 23. callback() или обратный обратный вызов()
- 24. Остановить функцию и обратный вызов вместо ошибки throw
- 25. Как остановить или отложить анимацию flexslider, используя обратный вызов before()?
- 26. Node.js - обратный вызов не остановить выполнение, когда попал
- 27. Как остановить полный обратный вызов страницы в asp.net?
- 28. Как остановить двойной обратный вызов при использовании события обновления jquery'Sortable?
- 29. Обратный вызов Android от активности до фрагмента
- 30. Обратный вызов разрешения разрешения Android M
Но как насчет приложения Защита приложений? они используют отверстие безопасности, чтобы стать root? Потому что, если вы принудительно остановите приложение, он начнется снова, независимо от того, как вы его убьете, он начнется снова. – David