Android:如何判断服务何时完成

时间:2011-04-19 20:27:37

标签: android service android-activity broadcastreceiver android-pendingintent

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

我已正确设置所有内容,我的数据库正在存储正确的信息。我唯一感到困惑的是如何告诉我的活动类服务是否完整?

2 个答案:

答案 0 :(得分: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);

答案 1 :(得分:0)

使用您自己的操作名称“mike.intent.DB_POPULATE_DONE”或其他内容创建一个Intent ...如果您选择,它只是您可以在onNewIntent()中检查的字符串。

通过调用Context.startActivity()从服务发送意图。

要接收Intent,请实现Activity.onNewIntent()