广播意图未被服务收到

时间:2010-10-20 10:30:05

标签: android android-intent broadcastreceiver

我有一个发送广播意图的Android服务。我试图在另一个应用程序中获取这些意图,这是一个Android服务。我在清单中写道:

<!-- Service -->
<service android:enabled="true" android:name="...MyService"></service>

<!-- Receiver -->
<receiver android:name="...MyReceiver">
   <intent-filter>
      <action android:name="..."></action>
      <action android:name="..."></action>
   </intent-filter>
</receiver>

这在我的MyReceiver类中:

public class ScannerBroadcastReceiver extends BroadcastReceiver {
   @Override
   public void onReceive(Context context, Intent intent) {
      String action = intent.getAction();
      // Process action.
      Log.d(Globals.LOG_TAG, "Intent received.");
      ...

不幸的是我永远不会调用onReceive方法。知道为什么吗? 我从另一个测试应用程序启动此服务,因此将其设置为Android库。服务正确启动但该接收器什么也没有收到。知道我做错了什么吗? 谢谢!

2 个答案:

答案 0 :(得分:0)

在清单中必须是:android:name =“。[package] .ScannerBroadcastReceiver

答案 1 :(得分:0)

我解决了这个问题,我想这是因为这个项目被设置为一个库。如果我没有这样设置,则正确接收意图。我没有在任何地方读过这篇文章。