스마트폰앱

오늘:
734
어제:
2,208
전체:
2,860,625

고객센타 : 070-7752-2000
팩스 : 070-7752-2001
휴대폰 : 010-9513-0019
email : voipkorea@yahoo.co.kr

국민은행
(주)제이에스솔루션
047101-04-155519

Flag Counter
■ 무료 : 유선 집전화 휴대폰 ( 한국 미국 중국 카나다) ↔ (국내 해외 여행자 상사 주재원 유학생) / 가입무 무제한무료■

Enum NetworkInfo.State

http://developer.oesf.biz/em/developer/reference/durian/android/net/NetworkInfo.State.html

 

http://developer.android.com/reference/android/net/NetworkInfo.State.html

 

 

http://www.androidhive.info/2012/07/android-detect-internet-connection-status/

 

 

It is better to check internet connectivity status before making any HTTP Requests to avoid http exceptions. This tutorial will explain how to detect internet connection status in your applications.

Download Code


Create new Project

1. Create a new project in Eclipse IDE by filling required details. File ⇒ New ⇒ Android Project
2. After creating new project first step is to add required permission in your AndroidManifest.xml file.

To access internet we need INTERNET Permission
To detect network status we need ACCESS_NETWORK_STATE Permission

AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
    package="com.example.detectinternetconnection"
    android:versionCode="1"
    android:versionName="1.0" >
  
    <uses-sdk android:minSdkVersion="8" />
  
    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >
        <activity
            android:name=".AndroidDetectInternetConnectionActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
  
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
  
    <!-- Internet Permissions -->
    <uses-permission android:name="android.permission.INTERNET" />
  
    <!-- Network State Permissions -->
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
  
</manifest>

3. Create a new Class file and name it as ConnectionDetector.java and type the following code.

ConnectionDetector.java
package com.example.detectinternetconnection;
  
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
  
public class ConnectionDetector {
  
    private Context _context;
  
    public ConnectionDetector(Context context){
        this._context = context;
    }
  
    public boolean isConnectingToInternet(){
        ConnectivityManager connectivity = (ConnectivityManager) _context.getSystemService(Context.CONNECTIVITY_SERVICE);
          if (connectivity != null)
          {
              NetworkInfo[] info = connectivity.getAllNetworkInfo();
              if (info != null)
                  for (int i = 0; i < info.length; i++)
                      if (info[i].getState() == NetworkInfo.State.CONNECTED)
                      {
                          return true;
                      }
  
          }
          return false;
    }
}

4. When ever you want to check Internet Status in your application call isConnectingToInternet() function and it will return true or false

ConnectionDetector cd = new ConnectionDetector(getApplicationContext());
  
Boolean isInternetPresent = cd.isConnectingToInternet(); // true or false

5. In this tutorial for testing purpose i placed a simple button. Once you press the button it will show appropriate alert message about internet connection status.
6. Open your main.xml under res/layout folder and create a button.

main.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >
  
    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Detect Internet Status" />
  
    <Button android:id="@+id/btn_check"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:text="Check Internet Status"
        android:layout_centerInParent="true"/>
  
</RelativeLayout>

7. Finally open your MainActivity file and paste the following code. In the following code i showed an alert dialog with respected internet status message.

package com.example.detectinternetconnection;
  
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
  
public class AndroidDetectInternetConnectionActivity extends Activity {
  
    // flag for Internet connection status
    Boolean isInternetPresent = false;
  
    // Connection detector class
    ConnectionDetector cd;
  
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
  
        Button btnStatus = (Button) findViewById(R.id.btn_check);
  
        // creating connection detector class instance
        cd = new ConnectionDetector(getApplicationContext());
  
        /**
         * Check Internet status button click event
         * */
        btnStatus.setOnClickListener(new View.OnClickListener() {
  
            @Override
            public void onClick(View v) {
  
                // get Internet status
                isInternetPresent = cd.isConnectingToInternet();
  
                // check for Internet status
                if (isInternetPresent) {
                    // Internet Connection is Present
                    // make HTTP requests
                    showAlertDialog(AndroidDetectInternetConnectionActivity.this, "Internet Connection",
                            "You have internet connection", true);
                } else {
                    // Internet connection is not present
                    // Ask user to connect to Internet
                    showAlertDialog(AndroidDetectInternetConnectionActivity.this, "No Internet Connection",
                            "You don't have internet connection.", false);
                }
            }
  
        });
  
    }
  
    /**
     * Function to display simple Alert Dialog
     * @param context - application context
     * @param title - alert dialog title
     * @param message - alert message
     * @param status - success/failure (used to set icon)
     * */
    public void showAlertDialog(Context context, String title, String message, Boolean status) {
        AlertDialog alertDialog = new AlertDialog.Builder(context).create();
  
        // Setting Dialog Title
        alertDialog.setTitle(title);
  
        // Setting Dialog Message
        alertDialog.setMessage(message);
  
        // Setting alert dialog icon
        alertDialog.setIcon((status) ? R.drawable.success : R.drawable.fail);
  
        // Setting OK Button
        alertDialog.setButton("OK", new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int which) {
            }
        });
  
        // Showing Alert Message
        alertDialog.show();
    }
}

Run and test your application. For the above you will be getting following outputs.

android test internet connectivity
android test internet connectivity no intenet
android test internet connectivity


 

Advertisement


 

arti_divider.png

Glad you liked it. Would you like to share?

Sharing this page …

Thanks! Close

Add New Comment

noavatar32.png

Showing 20 of 35 comments

조회 수 :
21120
등록일 :
2012.10.12
16:20:49 (*.160.42.233)
엮인글 :
http://webs.co.kr/index.php?document_srl=13345&act=trackback&key=06c
게시글 주소 :
http://webs.co.kr/index.php?document_srl=13345
List of Articles
번호 제목 글쓴이 날짜 조회 수
65 Package org.linphone.core Description admin 2017-10-22 244
64 Sqlite detail easy tutorial. admin 2017-09-09 560
63 Change package name Linphone Android admin 2017-08-25 668
62 Liblinphone - import Linphone library in Android Studio 2017 admin 2017-08-25 664
61 I am able to build the limphone on mac by follow the steps describe here admin 2017-08-25 641
60 To build liblinphone for Android, you must COMPILATION INSTRUCTIONS admin 2017-08-25 637
59 sipdroid source code admin 2017-08-08 742
58 안드로이드 주소록 전체가져오기 이름만가져오기 사진가져오기 코드 admin 2015-04-13 6539
57 the sipdroid Research Miscellaneous admin 2015-03-26 3162
56 HSS070 English Korean 무료 국제전화 미국 중국 카나다 무료 통화 제공 admin 2014-12-28 4591
55 Softphones admin 2014-09-20 4852
54 /xxxxx/gen already exists but is not a source folder. Convert to a source folder or rename it. admin 2014-09-03 5300
53 CSIPSimple building Rebuilding Detail on Eclips Good All is heare perfect admin 2014-08-15 5238
52 Improving QoE of SIP-based Automated Voice Interaction in Mobile Networks file admin 2014-03-20 6032
51 speex support in android admin 2014-03-19 6249
50 voxmobile Source and how to build admin 2014-02-18 6653
49 PJSIP hung the phone constantly corrected the problem admin 2014-02-09 7100
48 Csipsimple code rebuilding source sip 통신 Call Mechanism admin 2014-02-09 21765
47 Csipsimple code rebuilding source sip 통신 technical interviewer admin 2014-02-09 7012
46 Csipsimple code rebuilding source 주요인터페이스분석 admin 2014-02-09 40719
45 Csipsimple code rebuilding source 다운로드 구성 csipsimple 소스 프로젝트 admin 2014-02-09 8095
44 Android DialogFragment Tutorial admin 2014-02-09 7456
43 Creating a fullscreen DialogFragment with a custom background admin 2014-02-09 9935
42 [Android API] 네트워크 상태 체크하기 admin 2013-12-19 8805
41 [안드로이드] 네트워크 연결 상태 체크 함수. admin 2013-12-19 7992
40 안드로이드 인터넷연결체크 ( 3g/lte/wifi ) 메서드 admin 2013-12-19 14501
39 Android Get Phone Contacts details with Contact Image admin 2013-12-15 7328
38 안드로이드 커스텀 타이틀바 How to add custom title bar to android application admin 2013-10-02 9767
37 How to create a custom title bar admin 2013-07-15 10003
36 Rotary Dialer clip art admin 2013-04-20 17621
35 Java 프로그램 실행화일 만들기 : Launch4j admin 2013-02-21 10731
34 java network programming source code, learning socket programming admin 2012-12-04 10722
33 2X Client Configuration | Android Remote Desktop 안드로이드 PC 리모트 데스크탑 admin 2012-12-02 12528
32 WIFI 3G 인터넷 연결 실시간 체크 소스코드 Broadcast Receiver 사용 (Adnroid) admin 2012-10-31 17012
31 통신사별 와이파이 비밀번호 admin 2012-10-31 14995
30 팁, wifi 패스워드 모음집 password admin 2012-10-21 11090
29 Android User Session Management using Shared Preferences admin 2012-10-16 32872
28 Unicode Tables v4 admin 2012-10-16 23355
27 HTML Codes admin 2012-10-16 10046
26 IBM Scan Codes EBCDIC Codes admin 2012-10-16 12251
25 ASCII Table and Description admin 2012-10-16 11519
24 How to Show Alert Dialog in Android (간단하고 쉬운설명) admin 2012-10-15 22682
23 How to read contacts on Android 2.0 admin 2012-10-14 13690
22 WIFI 3G 인터넷 연결 체크 소스코드 직접 사용한 코드 android admin 2012-10-14 15549
» Android Detect Internet Connection Status admin 2012-10-12 21120
20 JAVA + SSL (server and client examples) admin 2012-10-07 22584
19 Querying The Android Contact Database admin 2012-09-30 10925
18 Manage Contacts android admin 2012-09-30 12900
17 Android Contacts API 2 example admin 2012-09-30 14008
16 Android 2.0 주소록 동기화 기능 admin 2012-09-30 39301
15 안드로이드용 앱 개발 마켓등록 까지 해본거 샘플 무료국제전화 앱 FreeDialer admin 2012-09-27 15001
14 아이폰 IPhone 앱 개발 기본 admin 2012-09-27 11621
13 [안드로이드/개발] Intent admin 2012-09-23 18140
12 안드로이드 타이머 절적한 설명과 간단한소스코드 등 안드로이드 프로그램 설명 깔끔 admin 2012-09-23 28931
11 google voice source code admin 2012-09-22 10949
10 [안드로이드] 서버/클라이언트 소켓(Socket) 통신하기 admin 2012-09-20 21209
9 FreeDial 무료국제전화는 프리미엄 국제전화 다이렉트 회선사용 admin 2012-09-20 12004
8 Android SQlite 사용 admin 2012-09-04 11890
7 안드로이드마켓에 앱 등록하는 순서 admin 2012-08-19 42808
6 전화관련 안드로이드함수 admin 2012-08-18 15619
5 자바 ,이클립스,Android SDK, ADT 설치하여 무료국제전화 다이얼러를 만들어봅시다. admin 2012-08-06 16127
4 아이폰용 무료국제전화용 무료 다이얼러 Speedydialer 설치및 사용방법 file admin 2012-07-14 11477
3 접속번호 + 상대방번호 # 를 주소록에 전화번호로 저장하여 사용하면 편리하다 admin 2012-06-17 13443
2 App Store - ILD Dialer admin 2012-06-17 10015
1 한국휴대폰에서 미국 중국 카나다 무료 국제전화 서비스 admin 2012-04-27 10367