2016-08-21 6 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

Вы можете сделать это в Fragment:

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

registerReceiver метод нашел в Context классе. Fragment не распространяется, но Activity делает. Именно поэтому вы можете использовать его как это:

registerReceiver.(receiver, filter); 

В своей деятельности, но вы должны вызвать его на контекст Фрагменте либо так:

getActivity().registerReceiver(receiver, filter); 

Или еще лучше в onAttach

@Override 
public void onAttach(Context context) { 
     context.registerReceiver(receiver, filter); 
} 
Смежные вопросы