1

我有一个包含按钮的活动类。当我点击按钮时,它启动一个服务,它将在一个单独的线程中填充我的SQLite数据库。服务完成后,我希望我的活动类中的textview能够显示数据库中的新值。Android:如何判断服务何时完成

我有一切正确设置,我的数据库正在存储正确的信息。我仍然困惑的唯一事情是如何告诉我的活动课程该服务已完成?

回答

1

当您的服务完成时,您可以发送广播。

在你活动的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); 
+0

如何将广播从服务发送到活动? – zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz 2011-04-19 20:30:27

+0

更新主评论 – 2011-04-20 13:49:14

0

创建你自己的行动命名为“mike.intent.DB_POPULATE_DONE”或类似的意图......它只是一个字符串,您可以在onNewIntent检查(),如果你选择。

通过调用Context.startActivity()从Service发送一个Intent。

要接收意图,请执行Activity.onNewIntent()

+0

我不认为我想再次调用startActivity()。我只想让我的控件使用数据库中的新值进行刷新。 – zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz 2011-04-19 21:27:52

相关问题