Android服务无法通过闹钟启动

时间:2009-07-17 07:43:30

标签: android service android-context

通过闹钟启动服务是否有任何问题 BroadcastReceiver的onReceive?我的服务从来没有在创建或 onStart方法调用。

My Alarm的接收器获取唤醒锁,调用context.startService(new 意图(context,FmiDaemon.class)); (通过onRecieve给出的上下文 参数),等待3秒,然后释放锁。

我的服务有2个方法,onCreate和onStart。 onCreate获得另一个 wakelock,onStart的结尾发布了唤醒锁,然后调用 “stopSelf”。两种方法都应该将数据发送到日志,但从不 因为他们从未被召唤过。

问题出在哪里?这是一个糟糕的“背景”吗?是onCreate和 onStart实现错误的方法?

2 个答案:

答案 0 :(得分:1)

旧问题,但万一有其他人有这个问题:

1)在接收器类onReceive的开头添加一个日志条目。如果您的日志没有显示此消息,则表示您没有正确设置警报,或者您的接收器不在清单文件中。

2)将您的接收器类添加到AndroidManifest.xml

<receiver android:name="MyBroadcastReceiver" />

3)我的startService()如下所示:

Intent newIntent = new Intent(context, MyServiceClass.class);

context.startService(newIntent);

答案 1 :(得分:0)

尝试在AndroidManifest.xml文件的应用标记中添加此内容。

<service android:name="com.yourpackagetoyourserviceclass.FmiDaemon"/>