Подключение к Интернету в Android

У меня есть работа над приложением, использующим Интернет.

  • Он содержит синтаксический анализ XML с URL-адреса. чем
  • Отображение диалогового окна прогресса во время анализа времени.
  • Остановить диалог после завершения синтаксического анализа.
  • установите ТЕКСТ (Данные) в ListView.

Моя проблема в том, что когда устройство подключено к Интернету, мои приложения работают нормально, но когда устройство не подключено к Интернету, «Диалог выполнения» работает бесконечно долго.

Я хочу остановить диалог, если устройство не подключено к Интернету или Wi-Fi. как это сделать?
Есть идеи? Извините, ребята .... Я передумал, я хочу проверять интернет-соединение, когда нажимаю кнопку. то, что я пробовал до сих пор, это ..

public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.homelayout);
        mclip = (ImageButton) findViewById(R.id.clip);
        mclip.setClickable(true);
        mclip.setFocusable(true);

        mclip.setOnClickListener(new OnClickListener() {

            public void onClick(View view) {
                ConnectivityManager cm = (ConnectivityManager)              getSystemService(Context.CONNECTIVITY_SERVICE);
                NetworkInfo netInfo = cm.getActiveNetworkInfo();
                if (netInfo != null && netInfo.isConnectedOrConnecting()) {
               //if it is connected to internet than start Another Activity.
                startActivity(new Intent(ListViewExample.this, ClipOfDay.class));
                } else if (netInfo == null) {
                    AlertDialog alertDialog = new AlertDialog.Builder(ListViewExample.this).create();
                    alertDialog.setTitle("Connection Problem");
                    alertDialog.setMessage("You are not connected to Internet");
                    alertDialog.setButton("OK", new DialogInterface.OnClickListener() {

                        public void onClick(DialogInterface dialog, int which) {
                            return;
                        }
                    });
                    alertDialog.show();
                }

            }
        });
       }

Но это не работает. Если устройство не подключено к Интернету, я хочу показать AlertDialog. в противном случае он запустит Activity. Кто-нибудь может сказать мне, что делать?
Спасибо.


person Piyush    schedule 22.11.2010    source источник


Ответы (3)


Проверить подключение к сети
Простой код для проверки подключения

ConnectivityManager cMgr = (ConnectivityManager) con.getSystemService(Context.CONNECTIVITY_SERVICE);
            NetworkInfo netInfo = cMgr.getActiveNetworkInfo();
            String status = netInfo.getState().toString();
            if (status.equals("CONNECTED")) {
               //DO you work
            } else {
                Log.e("error", "No connection available ");
            }
person Labeeb Panampullan    schedule 22.11.2010

Используйте эти два метода для проверки подключения:

Context.getSystemService(Context.CONNECTIVITY_SERVICE).getNetworkInfo(ConnectivityManager.TYPE_MOBILE)
Context.getSystemService(Context.CONNECTIVITY_SERVICE).getNetworkInfo(ConnectivityManager.TYPE_WIFI)

затем проанализируйте возвращенные результаты, чтобы узнать, доступно ли соединение. Если он доступен, то только делайте вещи и ставьте диалоговое окно.

В качестве альтернативы вы также можете открыть диалоговое окно и перед выполнением каких-либо сетевых действий проверить подключение с помощью этих методов, а если подключение недоступно, скрыть / отменить диалоговое окно и отобразить сообщение об ошибке. в противном случае перейдите к сетевому действию. и да, всегда есть блок try-catch.

person Aman Alam    schedule 22.11.2010

  • Сначала проверьте, подключен ли интернет или Wi-Fi, затем запустите свой код
  • Используйте try, catch, в случае возникновения исключения из-за ошибки подключения удалите диалог в блоке catch.



Это может быть один из способов сделать это ..............
Надеюсь, это поможет .......

person viv    schedule 22.11.2010
comment
Вы правы, но как я могу это проверить? Я новичок в Android, поэтому понятия не имею, как проверить подключение к Интернету. Спасибо за ответ. - person Piyush; 22.11.2010
comment
Проверьте это: stackoverflow.com/questions/1560788/, попробуйте отправить ответ Эдди - person viv; 22.11.2010