2011-08-10 103 views
0

我目前正在开发一个应用程序,该应用程序执行一些不能被打断的重度处理。我想知道是否有办法阻止用户启动另一项活动。Android防止活动失去焦点

一些关于活动:

- 它有一个线程从UI线程做处理 - 它具有唤醒锁定,因此屏幕不睡觉 - 它有一个进度对话框是分开警告用户不要中断处理

另一个需要注意的是,应用程序确实检测应用程序何时失去焦点并注销,这是一种安全措施。我试图决定天气应用程序应该试图“优雅地”停止线程(涉及很多工作,可能会不可思议)或者尝试我所问的。

在此先感谢!

+0

不,你不能完全限制用户,因为当有一个后台线程运行你的用户也可能会收到一个电话!所以这取决于...你能让我们知道你的后台线程究竟做了什么吗?它是否会直接更新数据库? – doNotCheckMyBlog

回答

0

没有可能确保另一项活动无法开始。 对于非常长的后台处理,您应该使用用户服务。在某些情况下,您还可以考虑将此服务设置为“前景”。看看android的参考例子。