2016-08-21 57 views
-1
//here my code 
//used this IntentFilter 

IntentFilter filter = new IntentFilter(); 

filter.addAction(BluetoothAdapter.ACTION_STATE_CHANGED); 
filter.addAction(BluetoothDevice.ACTION_FOUND); 
filter.addAction(BluetoothAdapter.ACTION_DISCOVERY_STARTED); 
filter.addAction(BluetoothAdapter.ACTION_DISCOVERY_FINISHED); 

//this method cannot be resolve 

registerReceiver(mReceiver, filter); 

回答

4

你可以做,在片段:

getActivity().registerReceiver(receiver, filter); 
1

registerReceiverContext类中找到的方法。 Fragment不会扩展它,但Activity会。这就是为什么你可以使用它像这样:

registerReceiver.(receiver, filter); 

在活动,但你必须把它在上下文从尾数要么是这样的:

getActivity().registerReceiver(receiver, filter); 

甚至更​​好的onAttach

@Override 
public void onAttach(Context context) { 
     context.registerReceiver(receiver, filter); 
}