Я хочу динамически настраивать BroadcastReceiver, чтобы проверить, действительно ли я онлайн, только когда мое приложение работает на переднем плане. В моем основном классе я создал фильтр Intent, вложенный класс BroadcastReceiver и, наконец, зарегистрировал/отменил регистрацию получателя в методах onResume и onPause соответственно.Dynamic BroadcastReceiver для проверки онлайн-подключения
Мой вопрос: есть ли намеренное ДЕЙСТВИЕ, которое я могу добавить в свой фильтр намерений, который проверяет возможность онлайн-подключения?
Если нет, как я могу создать этот динамический широковещательный приемник для выполнения только в том случае, когда работает мое приложение?
Вот что мой класс выглядит ....
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();
}
}}
Говорят, что это невозможно решить. Вот что я добавил: onlineIntentFilter.addAction (Intent.CONNECTIVITY_ACTION); –