1

я проверка сетевых подключений, используя следующий код:Настройки беспроводной сети

public static boolean haveInternet(Context ctx) 
{ 
    NetworkInfo info = (NetworkInfo) ((ConnectivityManager) ctx.getSystemService(Context.CONNECTIVITY_SERVICE)).getActiveNetworkInfo(); 

    if (info == null || !info.isConnected()) { 
      return false; // no connection 
    } 

    return true; // true if having connection 
}  

Теперь на «нет связи», я имею в запуск «Настройка беспроводной сети» диалог, используя код ниже:

context.startActivity(new Intent(Settings.ACTION_WIRELESS_SETTINGS)); 

Здесь пользователь может «включить/выключить» беспроводную связь, теперь, как мне узнать, сделал ли пользователь «включено» Wi-Fi или нет? то есть результат, полученный вышеуказанным намерением по успешному беспроводному соединению. как я могу это проверить?

Мне кажется, мне нужно вызвать метод startActivityForResult, но не знаю, как это сделать?

Update:

Я хочу сделать так же, как http://groups.google.is/group/android-developers/msg/6874a5e4675dffdb

+0

Привет, сэр, сталкиваясь с той же проблемой, я использую BroadcastReceiver, чтобы проверить, включен ли пользователь Wifi, затем загрузка должна начинаться, но мой получатель никогда не получает звонок. Я не получаю, где нужно позвонить sendBroadcast(). – Nitish

ответ

2

теперь как я пришел, чтобы узнать, был ли пользователь сделал «на» Wi-Fi или нет? то есть результат, полученный вышеуказанным намерением по успешному беспроводному соединению. как я могу это проверить?

Нет результатов. Вы проверяете это, вызывая код, который вы указали выше, или путем мониторинга соответствующих трансляционных намерений (см. ConnectivityManager и его CONNECTIVITY_ACTION или WifiManager и его WIFI_STATE_CHANGED_ACTION или NETWORK_STATE_CHANGED_ACTION).

Мне кажется, мне нужно вызвать метод startActivityForResult, но не знаю, как это сделать?

Эта деятельность не поддерживает startActivityForResult().

+0

@CommonsWare thanx для поддержки, но как я могу контролировать трансляции? я не знаю об этом, PLS дайте мне знать –

+0

@Paresh Mayani: зарегистрируйте 'BroadcastReceiver' на' IntentFilter', чтобы следить за этими действиями. Если только ваша деятельность заботится об изменениях, вызовите 'registerReceiver()' для регистрации 'BroadcastReceiver', но обязательно вызовите' unregisterReceiver() 'в более поздней точке. Например, вот приложение, которое следит за трансляцией 'ACTION_BATTERY_CHANGED': http://github.com/commonsguy/cw-advandroid/tree/master/SystemEvents/OnBattery/ – CommonsWare

+0

@CommonsWare я действительно застрял, потому что если есть соединение, затем я извлекаю xml из URL-адреса, а если нет (т.е. еще), я показываю диалог, теперь диалоговое окно позволяет вам установить параметры беспроводной сети, где я могу установить Wi-Fi вкл/выкл, после того как я включил/выключил wi -fi, я вернулся к первоначальному действию, нажав кнопку «Назад», теперь доступно «соединение», показано, что он должен получить xml, PLS показать мне способ, PLS –