2010-10-20 106 views
0

我有一个发送广播意图的Android服务。我试图在另一个应用程序中获得这些意图,这是一项Android服务。在我MyReceiver类服务未收到广播意图

<!-- 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> 

这个:我在清单写了这个

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库。该服务已正确启动,但该接收器没有收到任何内容。任何想法我做错了什么? 谢谢!

+0

您可能没有正确注册IntentReceiver,或者您的广播配置错误。你也应该发布代码的这些部分。 – 2010-10-20 10:42:11

+0

我没有注册接收器。它不应该是必要的,当它在清单中...意图被正确地广播,因为它被我写的其他应用程序接收到... – 2010-10-20 10:52:01

回答

0

我解决了这个问题,我想这是因为,这个项目被设置为库的事实“[包装] .ScannerBroadcastReceiver。”如果我不这样设置,则意图被正确接收。我没有在任何地方读过。

0

在清单必须是:机器人:名字=

+0

对不起,我的坏。似乎我忘了将该类重命名为MyService。在代码中这是正确的。 – 2010-10-20 11:41:03