Android 广播接收机呼叫服务

Android 广播接收机呼叫服务,android,Android,您好,我正在使用此代码从BroadCastReceiver调用服务,但它不工作。 代码如下: public class AlarmReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { System.out.println("luli"); Intent myIntent=new Inten

您好,我正在使用此代码从BroadCastReceiver调用服务,但它不工作。 代码如下:

 public class AlarmReceiver extends BroadcastReceiver {
        @Override
    public void onReceive(Context context, Intent intent) {
        System.out.println("luli");
        Intent myIntent=new Intent(context,AlarmReceiver.class);
      // myIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

        context.startService(myIntent);
    } 
}
在我的服务中,我有以下代码:

public class AlarmService extends Service {

@Override
public IBinder onBind(Intent arg0) {
    // TODO Auto-generated method stub
    System.out.println("HEY u bastard service print at least something");
    return null;
}
}

我也在舱单中声明了该服务


这里有什么不响应服务的错误???

您覆盖了。只有当有人通过绑定(
Context.bindService()
)创建到服务的持久连接时,才会调用该函数。您应该重写。

我尝试从另一个类警报调用BroadCastReceiver,它会打印消息luli,但我还想在服务中做一些其他事情,例如,只要我正在制作AlarmClock应用程序,就播放一些声音。显示清单和绑定服务的代码。这部分在我的清单文件中:停止滥用onBind函数…:如果我删除onBind,那么它会显示它所说要实现的服务的错误这种方法是的,您必须实现onBind()。只需将该方法留空,它无论如何都不会被调用,并且在您的情况下没有任何用处。然后将日志调用(本例中为println)添加到onStartCommand()中。每次您现在调用startService(),它都会打印一条日志语句。无法启动服务意图{cmp=luli/.AlarmReceiver}未找到,这是我在logCat上看到的消息。我想知道为什么它会说AlarmReceiver,因为我的服务名是AlarmService。这与接收器的问题完全不同。但是没有发现任何问题,所以不确定是什么原因造成的。