【发布时间】:2011-01-10 05:59:55
【问题描述】:
我有一个发送广播意图的 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 库。服务已正确启动,但此接收器没有收到任何内容。知道我做错了什么吗? 谢谢!
【问题讨论】:
-
您可能没有正确注册 IntentReceiver,或者您正在广播一个配置错误的意图。您也应该发布代码的这些部分。
-
我没有注册接收器。当它在清单中时应该没有必要......当我编写的其他应用程序接收到它时,意图被正确广播......
标签: android android-intent broadcastreceiver