2016-08-21 25 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); 
}