android判断网络,android判断网络 数据

android 网络判断的几种方法

//    判断是否有网络连接

创新互联公司是一家专业提供洮南企业网站建设,专注与成都网站制作、成都网站设计、html5、小程序制作等业务。10年已为洮南众多企业、政府机构等服务。创新互联专业网站设计公司优惠进行中。

public static boolean isNetworkConnected(Context context) {

if (context != null) {

ConnectivityManager mConnectivityManager = (ConnectivityManager) context

.getSystemService(Context.CONNECTIVITY_SERVICE);

NetworkInfo mNetworkInfo = mConnectivityManager.getActiveNetworkInfo();

if (mNetworkInfo != null) {

return mNetworkInfo.isAvailable();

}

}

return false;

}

//    判断WIFI网络是否可用

public static boolean isWifiConnected(Context context) {

if (context != null) {

ConnectivityManager mConnectivityManager = (ConnectivityManager) context

.getSystemService(Context.CONNECTIVITY_SERVICE);

NetworkInfo mWiFiNetworkInfo = mConnectivityManager

.getNetworkInfo(ConnectivityManager.TYPE_WIFI);

if (mWiFiNetworkInfo != null) {

return mWiFiNetworkInfo.isAvailable();

}

}

return false;

}

//    判断MOBILE网络是否可用

public static boolean isMobileConnected(Context context) {

if (context != null) {

ConnectivityManager mConnectivityManager = (ConnectivityManager) context

.getSystemService(Context.CONNECTIVITY_SERVICE);

NetworkInfo mMobileNetworkInfo = mConnectivityManager

.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);

if (mMobileNetworkInfo != null) {

return mMobileNetworkInfo.isAvailable();

}

}

return false;

}

//    获取当前网络连接的类型信息

public static int getConnectedType(Context context) {

if (context != null) {

ConnectivityManager mConnectivityManager = (ConnectivityManager) context

.getSystemService(Context.CONNECTIVITY_SERVICE);

NetworkInfo mNetworkInfo = mConnectivityManager.getActiveNetworkInfo();

if (mNetworkInfo != null  mNetworkInfo.isAvailable()) {

return mNetworkInfo.getType();

}

}

return -1;

}

Android 10. 判定Socket 是否连接网络

Scoket 判定是否连接网络不仅需要使用isClose方法进行判定,同时需要使用isConnected方法来判断Socket对象 是否连接成功。

1) isConnected方法所判断的并不是Socket对象的当前连接状态, 而是Socket对象是否曾经连接成功过,如果成功连接过,即使现在isClose返回true, isConnected仍然返回true。因此,要判断当前的Socket对象是否处于连接状态, 必须同时使用isClose和isConnected方法, 即只有当isClose返回false,isConnected返回true的时候Socket对象才处于连接状态。

1) 在大多数的时候可以直接使用Socket类或输入输出流的close方法关闭网络连接,但有时我们只希望关闭OutputStream或InputStream,而在关闭输入输出流的同时,并不关闭网络连接。这就需要用到Socket类的另外两个方法:shutdownInput和shutdownOutput,这两个方法只关闭相应的输入、输出流,而它们并没有同时关闭网络连接的功能。和isClosed、isConnected方法一样,Socket类也提供了两个方法来判断Socket对象的输入、输出流是否被关闭,这两个方法是isInputShutdown()和isOutputShutdown()。 shutdownInput和shutdownOutput并不影响Socket对象的状态。

android 怎么判断网络状态

获取android系统的连接服务可判断网络连接状态,代码如下

public class NetUtils{

public static boolean isNetworkConnected(Context context){

ConnectivityManager mConnectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);

NetworkInfo[] infos = cm.getAllNetworkInfo();

for(NetworkInfo info:infos){

if(info.isAvailable()info.isConnected()){

return true;

}

}

return false;

}

}

NetworkInfo的isAvailable()和isConnected()有以下5种状态:

在WLAN设置界面

1,显示连接已保存,但标题栏没有,即没有实质连接上:isConnected()==false,isAvailable()=true

2,显示连接已保存,标题栏也有已连接上的图标:isConnected()==true,isAvailable()=true

3,选择不保存后:isConnected()==false,isAvailable()=true

4,选择连接,在正在获取IP地址时:isConnected()==false,isAvailable()=false

5,连接上后:isConnected()==true,isAvailable()=true

Android中如何简单检测网络是否连接

权限:

uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/  

uses-permission android:name="android.permission.INTERNET"/ 

uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /

代码:

/*  

* 判断网络连接是否已开  

*true 已打开  false 未打开  

**/

public static boolean isConn(Context context){

boolean bisConnFlag=false;

ConnectivityManager conManager = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);

NetworkInfo network = conManager.getActiveNetworkInfo();

if(network!=null){

bisConnFlag=conManager.getActiveNetworkInfo().isAvailable();

}

return bisConnFlag;

/*没有网络跳转到网络设置页面

* 打开设置网络界面  

* */

public static void setNetworkMethod(final Context context){

//提示对话框  

AlertDialog.Builder builder=new AlertDialog.Builder(context);

builder.setTitle("网络设置提示").setMessage("网络连接不可用,是否进行设置?").setPositiveButton("设置", new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

// TODO Auto-generated method stub  

Intent intent=null;

//判断手机系统的版本  即API大于10 就是3.0或以上版本  

if(Build.VERSION.SDK_INT10){

intent = new Intent(Settings.ACTION_WIRELESS_SETTINGS);

}else{

intent = new Intent();

ComponentName component = new ComponentName("com.android.settings","com.android.settings.WirelessSettings");

intent.setComponent(component);

intent.setAction("android.intent.action.VIEW");

}

context.startActivity(intent);

}

}).setNegativeButton("取消", new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

// TODO Auto-generated method stub  

dialog.dismiss();

}

}).show();

}

android 如何判断网络是否能够上网

实现步骤:

下面解决办法来自于android学习手册,android学习手册包含9个章节,108个例子,源码文档随便看,例子都是可交互,可运行,源码采用android studio目录结构,高亮显示代码,文档都采用文档结构图显示,可以快速定位。360手机助手中下载。排到第三个。

1、获取ConnectivityManager对象

Context context = activity.getApplicationContext();

// 获取手机所有连接管理对象(包括对wi-fi,net等连接的管理)

ConnectivityManager connectivityManager = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);

2、获取NetworkInfo对象

// 获取NetworkInfo对象

NetworkInfo[] networkInfo = connectivityManager.getAllNetworkInfo();

3、判断当前网络状态是否为连接状态

if (networkInfo[i].getState() == NetworkInfo.State.CONNECTED)

{

return true;

}

4、在AndroidManifest.xml中添加访问当前网络状态权限

uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/uses-permission

代码如下:

public class ClassTestDemoActivity extends Activity

{

@Override

public void onCreate(Bundle savedInstanceState)

{

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

if (isNetworkAvailable(ClassTestDemoActivity.this))

{

Toast.makeText(getApplicationContext(), "当前有可用网络!", Toast.LENGTH_LONG).show();

}

else

{

Toast.makeText(getApplicationContext(), "当前没有可用网络!", Toast.LENGTH_LONG).show();

}

}

/**

* 检查当前网络是否可用

*

* @param context

* @return

*/

public boolean isNetworkAvailable(Activity activity)

{

Context context = activity.getApplicationContext();

// 获取手机所有连接管理对象(包括对wi-fi,net等连接的管理)

ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);

if (connectivityManager == null)

{

return false;

}

else

{

// 获取NetworkInfo对象

NetworkInfo[] networkInfo = connectivityManager.getAllNetworkInfo();

if (networkInfo != null networkInfo.length 0)

{

for (int i = 0; i networkInfo.length; i++)

{

System.out.println(i + "===状态===" + networkInfo[i].getState());

System.out.println(i + "===类型===" + networkInfo[i].getTypeName());

// 判断当前网络状态是否为连接状态

if (networkInfo[i].getState() == NetworkInfo.State.CONNECTED)

{

return true;

}

}

}

}

return false;

}

}


标题名称:android判断网络,android判断网络 数据
当前地址:http://pwwzsj.com/article/dsdhgej.html