2 haveferrair HaveFerrair 于 2015.07.26 22:17 提问

可以在broadcast的onreceive()方法中开一个service吗

可以在broadcast的onreceive()方法中开一个Service吗?
可以在broadcast的onreceive()方法中开一个Thread吗?
为什么呢?

2个回答

u014582770
u014582770   2015.07.26 23:19
已采纳

当然可以开启一个服务,服务是四大组件之一,就像可以新建一个activity,广播中可以新开线程,但是不建议这么做,广播生命周期短,线程如果做比较耗时的工作,而广播死掉了,那么线程没做完事也跟着死掉了。

zuishikonghuan
zuishikonghuan   2015.07.27 08:37

都可以的,以下是开启服务的例子:
@Override
public void onReceive(Context p1, Intent p2)
{
Intent i=new Intent(p1,服务.class);
p1.startService(i);
}

Csdn user default icon
上传中...
上传图片
插入图片