我有一个发送广播意图的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库。服务正确启动但该接收器什么也没有收到。知道我做错了什么吗? 谢谢!
答案 0 :(得分:0)
在清单中必须是:android:name =“。[package] .ScannerBroadcastReceiver ”
答案 1 :(得分:0)
我解决了这个问题,我想这是因为这个项目被设置为一个库。如果我没有这样设置,则正确接收意图。我没有在任何地方读过这篇文章。