Android:如何判断服务何时完成
问题描述:
我有一个包含按钮的活动类。当我点击按钮时,它启动一个服务,它将在一个单独的线程中填充我的SQLite数据库。服务完成后,我希望我的活动类中的textview能够显示数据库中的新值。Android:如何判断服务何时完成
我有一切正确设置,我的数据库正在存储正确的信息。我仍然困惑的唯一事情是如何告诉我的活动课程该服务已完成?
答
当您的服务完成时,您可以发送广播。
在你活动的onResume
IntentFilter intentFilter = ; //Look up how to make an intent filter with an action as specified in the below service code
receiver =new BroadcastReceiver();
this.registerReceiver(receiver, intentFilter);
在你活动的onPause
this.unregisterReceiver(receiver);
在您服务。
Intent broadcastIntent = new Intent();
broadcastIntent.setAction("com.blablablaablla.ACTION_REFRESH");
this.sendBroadcast(broadcastIntent);
答
创建你自己的行动命名为“mike.intent.DB_POPULATE_DONE”或类似的意图......它只是一个字符串,您可以在onNewIntent检查(),如果你选择。
通过调用Context.startActivity()从Service发送一个Intent。
要接收意图,请执行Activity.onNewIntent()
+0
我不认为我想再次调用startActivity()。我只想让我的控件使用数据库中的新值进行刷新。 – zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz 2011-04-19 21:27:52
如何将广播从服务发送到活动? – zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz 2011-04-19 20:30:27
更新主评论 – 2011-04-20 13:49:14