import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
public class NetworkUtils {
//为什么要串上下文对象 因为这是一个单独java类所以获取不到Android
public static boolean getNetwork(Context context) {
boolean boo = false;
ConnectivityManager connectionManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connectionManager.getActiveNetworkInfo();
if (networkInfo != null && networkInfo.isAvailable()) {
boo = true;
} else {
boo = false;
}
return boo;
}
}
调用方法 判断吐司
package com.example.day18;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.Toast;
import com.example.day18.util.NetWorkHttps;
public class MainActivity extends AppCompatActivity {
private NetworkChangeReceiver mNetWork;
private String mUrl = "http://api.expoon.com/AppNews/getNewsList/type/1/p/";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
/* if (NetWorkHttps.getNetWork(MainActivity.this)) {
Toast.makeText(MainActivity.this, "当前网络可用", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(MainActivity.this, "当前网络不可用", Toast.LENGTH_SHORT).show();
}*/
regiterReceiver();
}
//动态注册 也就是把静态注册的参数 咱们用Java代码实现
private void regiterReceiver() {
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction("android.net.conn.CONNECTIVITY_CHANGE");
mNetWork = new NetworkChangeReceiver();
registerReceiver(mNetWork, intentFilter);
}
class NetworkChangeReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
//连接管理的类 设计模式 单例模式
ConnectivityManager connectionManager = (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connectionManager.getActiveNetworkInfo();
if (networkInfo != null && networkInfo.isAvailable()) {
switch (networkInfo.getType()) {
case ConnectivityManager.TYPE_MOBILE:
Toast.makeText(context, "正在使用2G/3G/4G网络", Toast.LENGTH_SHORT).show();
break;
case ConnectivityManager.TYPE_WIFI:
Toast.makeText(context, "正在使用wifi上网", Toast.LENGTH_SHORT).show();
break;
default:
break;
}
} else {
Toast.makeText(context, "当前无网络连接", Toast.LENGTH_SHORT).show();
}
}
}
@Override
protected void onDestroy() {
super.onDestroy();
if (mNetWork!=null){
unregisterReceiver(mNetWork);
}
}
}
以上方式为简单写法 如有造成困扰 请多见谅