2013-03-10 43 views
3

我开始从一个BroadcastReceiver这样一直等到的onCreate完成

Intent service = new Intent(context, MyService.class); 
context.startService(service); 

String s = "Hello World"; 
MyService.addString(s); 

addString服务是一个静态函数的字符串添加到ListView。现在我遇到这样的问题,即在MyService onCreate()正在运行且ListView未初始化时调用此函数。我能做些什么来等待onCreate方法完成?

+0

代表@fedepaol和我,你能否澄清一下这里的顺序。 BroadcastReceiver和Service都不会启动ListView(除非我猜你正在做AppWidgets)。多一点上下文将确实有助于给出良好的答案 - 谢谢。 – 2013-03-10 19:27:53

+0

服务有一个WindowManager,它创建一个带有ListView的超视图视图,并且在那里我想添加新的项目。 – Cilenco 2013-03-10 19:35:09

+0

谢谢 - 在这种情况下,我会认为@fedepaol为您提供了最简单的选择:将您需要的所有信息从广播接收器传递到用于启动服务的Intent中的服务。 – 2013-03-10 19:39:16

回答

1

OnStart()onCreate()了解更多详情后跟着叫LifeCycle of service

+0

小心解释一下? – WarrenFaith 2013-03-10 19:12:05

+0

@WarrenFaith解决目的 – DjHacktorReborn 2013-03-10 19:15:01

+1

'Service.onStart'已在Android 2.0中弃用,不会在Android 2.1+中调用 – 2013-03-10 19:28:36