在数据库做一些繁重的后台工作时冻结和应用的最佳方法是什么?

Bha*_*ark 6 database android transactions

我有一个后台服务,每天在交易中做一些繁重的工作.如果用户此时正好启动应用程序,我希望他们坐下来直到完成(大约10秒左右).在所有活动中,最好的方法是什么?检查服务是否在每个活动的"onResume"功能中运行?我们怎么知道它何时完成?当地的广播,我猜...

最好的做法是谁?

更新:我设法停止"onResume"直到我的服务完成.问题是用户在此之前只看到一个空白屏幕.我在onResume暂停时尝试了progressdialogs和常规对话框.但它们只有在onResume返回时才会显示,并且会破坏目的.换句话说,在调用"show()"后,"进度"对话框不会立即"显示":(

Tro*_*ane 1

本地广播很好。

让您的活动询问服务是否繁忙,并在完成活动之前向用户显示适当的消息。

服务完成后,让它发送一个已完成的意图。