如何在扩展BroadcastReceiver的类中注册广播接收器?

时间:2016-06-12 22:02:29

标签: android bluetooth broadcastreceiver android-broadcastreceiver

我已经看到了有关httpServer.listen(80, ip); var io = wrapper(httpServer, sockOpts); 注册的所有示例,并且所有这些示例都注册了一个接收者而没有扩展BroadcastReceiver类。但我有以下代码

BroadcastReceiver

我可以使用registerReceiver方法注册一个Receiver。它显示错误。

感谢您的时间。

2 个答案:

答案 0 :(得分:1)

您需要一个上下文来调用registerReceiver(this, filter),因此您应该将其作为参数传递。

public void discoveryStart(Context context)
{
    filter.addAction(BluetoothDevice.ACTION_FOUND);
    filter.addAction(BluetoothAdapter.ACTION_DISCOVERY_STARTED);
    filter.addAction(BluetoothAdapter.ACTION_DISCOVERY_FINISHED);
    context.registerReceiver(this, filter) //PROBLEM OCCURS HERE
}

然后您可以从Activity

中拨打电话
SearchBLDev broadcastReceiver = new SearchBLDev();
broadcastReceiver.discoveryStart(this);

答案 1 :(得分:0)

您是否尝试过将接收器添加到清单中?你在哪里初始化这个broadcastReceiver?