Куда звонить код после изменения статуса сети
Я работаю над приложением для Android, которое должно быть подключено к Интернету, чтобы работать (чтобы заполнить listView). Очевидно, что когда я вхожу в него, я проверяю, есть ли соединение (эта ссылка помогла мне в этом: отображать предупреждение, когда интернет-соединение недоступно в приложении для Android).
Если соединения нет, появляется alertDialog, в котором пользователю предлагается либо выйти из приложения, либо перейти к настройкам и включить доступ к сети. Так что после того, как пользователь включит это и вернется, мне в основном нужно будет запустить код, которому нужен доступ... Мой вопрос... где мне разместить код из предложения if снизу? В onResume() или в onRestart?
Это код, который у меня есть до сих пор:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (checkNetworkStatus()){
System.out.println("i have internet !!!!!!!!");
overridePendingTransition(R.anim.slide_left,R.anim.fade);
setContentView(R.layout.activity_start);
handler = new Handler();
Button newOrderButton = (Button) findViewById(R.id.new_order_button);
newOrderButton.setOnClickListener(newOrderListener);
Button previousOrderButton = (Button) findViewById(R.id.previous_orders_button);
previousOrderButton.setOnClickListener(previousOrderListener);
} else {
System.out.println("I don't have internet !!!!!!!!");
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(Start.this);
.........
}
1 ответ
Если пользователь покидает активность, чтобы включить доступ к сети, то любой вашей текущей активностью будет вызываться OnPause(). Когда пользователь откроет вашу активность в следующий раз, будет вызван OnResume(), вне зависимости от того, выйдет ли пользователь из приложения или просто зайдет в настройки и вернется. Проверьте это, чтобы увидеть блок-схему, объясняющую порядок вызова этих функций. Это очистит ваши сомнения относительно того, куда поместить желаемый код. Надеюсь это поможет.