Android 广播接收器未通过服务接收意图

Android 广播接收器未通过服务接收意图,android,android-intent,broadcastreceiver,Android,Android Intent,Broadcastreceiver,我正在尝试实现一个广播接收器,它应该从后台运行的服务接收意图,但是它不工作 在我的主要活动中,我只需绑定服务并通过单击按钮上的onClick启动它 在我的SpeechRecognizer服务类中,我创建了一个新的BroadcastReceiver(请参见下面的代码) 在我的onResult中,我是这样做的: Intent intent = new Intent(); intent.setAction(CommandsReceiver.TEST); sendBroadcast(intent);

我正在尝试实现一个广播接收器,它应该从后台运行的服务接收意图,但是它不工作

在我的主要活动中,我只需绑定服务并通过单击按钮上的
onClick
启动它

在我的
SpeechRecognizer
服务类中,我创建了一个新的
BroadcastReceiver
(请参见下面的代码)

在我的
onResult
中,我是这样做的:

Intent intent = new Intent();
intent.setAction(CommandsReceiver.TEST);
sendBroadcast(intent);
在我的
CommandsReceiver
中,我刚刚得到一个简单的
字符串和一条日志消息:

public class CommandsReceiver extends BroadcastReceiver {
    public static final String TEST = "de.speech.TEST_INTENT";

    @Override
    public void onReceive(Context context, Intent intent) {
        Log.d("BroadCastReceiver", "Intent received"+intent);
    }
}
但是,我没有收到
Log.d()
消息


我希望您能帮助我。

似乎您正在创建一个IntentFilter,而没有任何操作

testfilter = new IntentFilter();
而不是

testfilter = new IntentFilter(CommandsReceiver.TEST);
那么,使用

testfilter = new IntentFilter(CommandsReceiver.TEST);
registerReceiver(commandsReceiver,testfilter);

因为你是一个新用户,你还没有检查任何答案。最好开始检查你满意的答案。所以,未来用户可以知道这个答案已经得到了回答。
testfilter = new IntentFilter(CommandsReceiver.TEST);
registerReceiver(commandsReceiver,testfilter);