Android获取当前的网络连接信息和网络链接状态 GPRS 和 WiFi网络

package com.tyy.testconnectivitymanager;

import java.util.Timer;
import java.util.TimerTask;

import android.media.audiofx.BassBoost.Settings;
import android.net.ConnectivityManager;
import android.net.NetworkInfo.State;
import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.view.Menu;
import android.widget.TextView;
import android.widget.Toast;

/**
 * 获取当前的网络连接信息和网络链接状态 GPRS 和 WiFi网络
 *
 * 如果需要获得当前的网络连接状态需要使用到一个类 , ConnectivityManager 获取连接的对象
 *
 * 如需获取当前的网络连接状态 需要指定权限
 * */
public class MainActivity extends Activity {
    private TextView gprs;
    private TextView wifi;
    private ConnectivityManager manager;// 网络连接的管理对象

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        gprs = (TextView) findViewById(R.id.gprs);
        wifi = (TextView) findViewById(R.id.wifi);
        // 管理器的初始化
        manager = (ConnectivityManager) this
                .getSystemService(Context.CONNECTIVITY_SERVICE);
        // 根据给定的网络类型获取该类型的网络连接信息,并且进一步获取当前信息中的网络状态
        State gprsstate = manager.getNetworkInfo(
                ConnectivityManager.TYPE_MOBILE).getState();

        State wifiState = manager.getNetworkInfo(ConnectivityManager.TYPE_WIFI)
                .getState();

        wifi.setText("当前的WiFi状态是" + wifiState.toString());
        gprs.setText("当前的GPRS状态是" + gprsstate.toString());

        // 当前没有网络进行连接
        if (!gprsstate.equals(State.CONNECTED)
                && !wifiState.equals(State.CONNECTED)) {
            Toast.makeText(MainActivity.this, "当前网络无连接跳转到网络连接页面", 0).show();
            Timer timer = new Timer();
            //延时执行任务
            timer.schedule(new MyTask(), 5000);
            
        }

    }

    //执行的任务类
    private class MyTask extends TimerTask{

        @Override
        public void run() {
            // TODO Auto-generated method stub
            // 跳转到网络设置界面
            Intent intent = new Intent();
            intent.setAction(android.provider.Settings.ACTION_WIRELESS_SETTINGS);
            // 无线网络连接的action
            startActivity(intent);
        }
        
    }
}
 界面上就两个textview

猜你喜欢

转载自blog.csdn.net/qq_37790902/article/details/79583673