Obtains type of the currently established connection. - Android Network

Android examples for Network:Network Connection

Description

Obtains type of the currently established connection.

Demo Code

/*//from  www. ja va  2  s  . c o  m
 * ------------------------------------------------------------------------------------------------=
 *                    Copyright (C) 2014 Martin Albedinsky [Wolf-ITechnologies]
 * ------------------------------------------------------------------------------------------------=
 *         Licensed under the Apache License, Version 2.0 or later (further "License" only).
 * -------------------------------------------------------------------------------------------------
 * You may use this file only in compliance with the License. More details and copy of this License 
 * you may obtain at
 * 
 *       http://www.apache.org/licenses/LICENSE-2.0
 * 
 * You can redistribute, modify or publish any part of the code written within this file but as it 
 * is described in the License, the software distributed under the License is distributed on an 
 * "AS IS" BASIS, WITHOUT WARRANTIES or CONDITIONS OF ANY KIND.
 * 
 * See the License for the specific language governing permissions and limitations under the License.
 * ------------------------------------------------------------------------------------------------=
 */
//package com.java2s;
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;

public class Main {
    /**
     * Obtains type of the currently established connection.
     * <p>
     * See {@link android.net.ConnectivityManager#getActiveNetworkInfo()} for additional info.
     *
     * @param context Context used to access {@link android.net.ConnectivityManager}.
     * @return Type provided by {@link android.net.ConnectivityManager} or {@code -1} if
     * there is no connection currently established.
     * @see #obtainEstablishedConnectionInfo(android.content.Context)
     * @see #isConnectionEstablished(android.content.Context)
     */
    public static int obtainEstablishedConnectionType(
            @NonNull Context context) {
        final NetworkInfo info = obtainEstablishedConnectionInfo(context);
        return info != null ? info.getType() : -1;
    }

    /**
     * Obtains info of the currently established connection.
     *
     * @param context Context used to access {@link android.net.ConnectivityManager}.
     * @return Info provided by {@link android.net.ConnectivityManager} or {@code null} if there
     * is on connection currently established.
     * @see #obtainEstablishedConnectionType(android.content.Context)
     * @see #isConnectionEstablished(android.content.Context)
     */
    @Nullable
    public static NetworkInfo obtainEstablishedConnectionInfo(
            @NonNull Context context) {
        return accessManager(context).getActiveNetworkInfo();
    }

    /**
     * Accesses the ConnectivityManager service using the given <var>context</var>.
     *
     * @param context Context from which ConnectivityManager should be accessed.
     * @return An instance of ConnectivityManager.
     */
    private static ConnectivityManager accessManager(Context context) {
        return (ConnectivityManager) context
                .getSystemService(Context.CONNECTIVITY_SERVICE);
    }
}

Related Tutorials