我开发了一款用于GPS跟踪的应用程序。它在前景中运行良好。它使用GPS /位置回调以及用于文本到语音,消息和心率监视器硬件的后台服务。问题在于Android操作系统在后台运行时偶尔关闭它。如果使用POWER按钮关闭屏幕,它会保持正常运行。如果HOME按钮用于关闭屏幕并运行其他应用程序,则Android有时会在几分钟后关闭应用程序,即使需要继续工作。有没有办法让应用程序运行isFinishing()/ onDestroy()或类似?正确捕获BACK按钮操作,给用户一个取消选项。谢谢,克里斯。Android在后台关闭应用程序,如何停止?
-2
A
回答
1
为了避免这种情况你的应用程序应该启动一个前台服务(调用startForeground服务()),显示非dismissable通知并获得PowerManager.PARTIAL_WAKE_LOCK
它可以防止手机进入睡眠模式并阻止该系统可能会造成您的应用程序死机(100%无法避免),但这显然会对电池消耗产生重大影响。
+1
“它可以防止手机进入睡眠模式” - 不,它不会。 “WakeLock”可防止设备进入睡眠模式。前台服务不会自动获取“WakeLock”。 – CommonsWare
+1
好吧,我忘了唤醒锁...编辑。但在几个月前的一些测试中,它在wake_lock和wake_lock下都是一样的,但我仍然保留它以防万一。 –
相关问题
- 1. 如何关闭/停止在后台运行应用程序android
- 2. 在Xamarin Android应用程序关闭后,后台服务会停止
- 3. 停止关闭Android应用程序
- 4. Android服务在关闭应用程序后立即停止
- 5. 如何防止Android应用程序在关闭后发送后台数据?
- 6. 如何停止C#控制台应用程序自动关闭?
- 7. 如何在关闭应用程序后停止意图服务
- 8. 如何在Android应用程序中停止应用程序时关闭gps
- 9. 程序在关闭应用程序后不停止
- 10. 如何从我的Android应用程序关闭后台进程?
- 11. 应用程序在后台被关闭
- 12. 在关闭android应用程序时停止线程?
- 13. 在关闭应用程序时:如何停止线程?
- 14. 关闭Chrome后,如何停止在后台运行某些扩展程序?
- 15. 如何停止应用程序关闭后启动的服务 - android
- 16. 如何在开关语句后停止程序关闭
- 17. 如何在WebSphere下停止应用程序的后台线程
- 18. 为什么后台服务在应用程序关闭时停止工作?
- 19. 防止Android应用程序被关闭/停止
- 20. Android应用程序在后台关闭连接线程
- 21. 当后台应用程序停止BackgroundService
- 22. 如何停止音乐,如果在后台应用程序
- 23. 如何在关闭wpf应用程序时关闭所有后台进程
- 24. 如何在用户停用帐户后关闭应用程序?
- 25. 如何在关闭应用程序时停止音乐
- 26. 如何在应用程序关闭时停止MediaPlayer的声音?
- 27. 如何在OSX上停止/关闭本机CouchDB应用程序?
- 28. 如何在关闭JFrame时在后台运行应用程序?
- 29. 当应用程序在后台时停止Android服务
- 30. 如何在应用程序转到后台时停止updupatingLocation(ios6)
使用粘滞服务进行后台更新。虽然自Android M以来,您必须查看Android Doze行为更改,这里是[Android N](https://developer.android.com/about/versions/nougat/android-7.0-changes.html),[Android O ](https://developer.android.com/about/versions/oreo/background-location-limits.html)。 – ADM