Android 带ProgressDialog的IntentService
我正在Android 带ProgressDialog的IntentService,android,android-service,android-dialog,android-service-binding,Android,Android Service,Android Dialog,Android Service Binding,我正在IntentService中执行长时间运行(最多一分钟)的文件读取操作,同时在我的活动中显示进度对话框 我不发布进度,很简单,请稍候对话框,只需将最终结果传递给活动,这是我通过广播完成的 我有两个问题: 服务正在运行,并显示对话框。用户按下Home按钮,将应用程序置于后台,应用程序处于后台时,服务完成(显示对话框) 我通过在onCreate()和onDestroy()中注册/取消注册我的BroadcastReceiver,而不是onResume()和onPause(),解决了这个问题。这
IntentService
中执行长时间运行(最多一分钟)的文件
读取操作,同时在我的活动
中显示进度对话框
我不发布进度,很简单,请稍候<代码>对话框,只需将最终结果传递给活动
,这是我通过广播完成的
我有两个问题:
正在运行,并显示服务
。用户按下Home按钮,将应用程序置于后台,应用程序处于后台时,对话框
完成(显示服务
) 我通过在对话框
和onCreate()
中注册/取消注册我的onDestroy()
,而不是BroadcastReceiver
和onResume()
,解决了这个问题。这样,即使在后台,应用程序也会接收结束广播,并关闭onPause()
对话框
正在运行,服务
正在显示,同时发生方向更改。对话框
显然幸存了下来,但是服务
消失了 为了解决这个问题,我在我的对话框
:服务中添加了类似的内容
然后,在我的boolean running; public int isRunning() { return running; } @Override protected void onHandleIntent(Intent intent) { running = true; try { // doing stuff } catch (Exception e) { } finally { running = false; } }
在活动中
中更改方向后,我绑定到onCreate()
,从服务
调用onServiceConnected()
,并在isRunning()
仍在运行时重新创建服务
对话框
提前感谢。如果您绑定到您的服务,那么您不需要任何广播:通过
Binder
进行双向通信,另外,不要弹出对话框
,而是使用一些更微妙的指示器,如通知
或不确定的进度条
或something@pskink双向通信需要发送消息,还是可以通过活页夹发送?如果是,怎么做?谢谢,读一下