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
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