Я создал класс приемника вещания, который работает нормально. Я не понимаю, откуда значение намерения входит в метод onReceive.
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if(wifiP2pManager.WIFI_P2P_STATE_CHANGED_ACTION.equals(action))
{
int state=intent.getIntExtra(WifiP2pManager.EXTRA_WIFI_STATE,-1);
if(state==WifiP2pManager.WIFI_P2P_STATE_ENABLED){
Toast.makeText(context,"Wifi is ON",Toast.LENGTH_SHORT).show();
}
else
{
Toast.makeText(context,"Wifi is OFF",Toast.LENGTH_SHORT).show();
}
}
}
Основной код действия, в котором я создал фильтр намерений, в который я добавил действие.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_find_device);
wifiP2pManager = (WifiP2pManager)
getSystemService(Context.WIFI_P2P_SERVICE);
channel = wifiP2pManager.initialize(this,getMainLooper(),null);
broadcastReceiver = new WiFiDirectBroadcastReceiver(wifiP2pManager, channel, this);
intentFilter = new IntentFilter();
intentFilter.addAction(WifiP2pManager.WIFI_P2P_STATE_CHANGED_ACTION);
}