【问题标题】:Android service not starting via alarmAndroid服务未通过警报启动
【发布时间】:2010-11-11 15:06:36
【问题描述】:

通过警报启动服务有什么问题吗 BroadcastReceiver的onReceive?我的服务从来没有 onCreate 或 调用了 onStart 方法。

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

我的服务有 2 个方法,onCreate 和 onStart。 onCreate 得到另一个 唤醒锁,onStart 结束释放唤醒锁,并调用 “停止自我”。这两种方法都应该将数据发送到日志,但从不 这样做,因为他们从未被调用过。

问题出在哪里?这是一个不好的“背景”吗?是 onCreate 和 onStart 实现方法不对?

【问题讨论】:

    标签: android service android-context


    【解决方案1】:

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

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

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

    <receiver android:name="MyBroadcastReceiver" />
    

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

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

    【讨论】:

      【解决方案2】:

      尝试在您的 AndroidManifest.xml 文件的应用程序标签中添加它。

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

      【讨论】:

        猜你喜欢
        • 2012-06-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-01-17
        相关资源
        最近更新 更多