Je souhaite configurer dynamiquement un BroadcastReceiver pour vérifier si je suis en ligne UNIQUEMENT lorsque mon application est en cours d'exécution au premier plan. Au sein de ma classe principale, j'ai créé un An Intent Filter, une classe BroadcastReceiver imbriquée et finalement enregistré/désenregistré le récepteur dans les méthodes onResume et onPause respectivement.Dynamic BroadcastReceiver pour vérifier la connectivité en ligne
Ma question est la suivante: y a-t-il une intention que je peux ajouter à mon filtre d'intention qui vérifie la connectivité en ligne?
Si ce n'est pas le cas, comment puis-je créer ce récepteur de diffusion dynamique pour effectuer uniquement lorsque mon application est en cours d'exécution?
Voici ce que ma classe ressemble ....
public class MainActivity extends AppCompatActivity {
private IntentFilter onlineIntentFilter;
private CheckOnlineReceiver checkOnlineReceiver;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
onlineIntentFilter = new IntentFilter();
checkOnlineReceiver = new CheckOnlineReceiver();
//*****WHAT INTENT ACTION CAN I PASS TO CHECK NETWORK CONNECTIVITY******
onlineIntentFilter.addAction(Intent.ACTION_POWER_DISCONNECTED);
}
@Override
protected void onResume() {
super.onResume();
registerReceiver(checkOnlineReceiver, onlineIntentFilter);
}
@Override
protected void onPause() {
super.onPause();
unregisterReceiver(checkOnlineReceiver);
}
private class CheckOnlineReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
Toast.makeText(getApplicationContext(),"IN METHOD, ACTION = " + action, Toast.LENGTH_LONG).show();
}
}}
Il est dit que cela ne peut pas être résolu. Voici ce que j'ai ajouté: onlineIntentFilter.addAction (Intent.CONNECTIVITY_ACTION); –