php判断android是否在线,如何判断软件程序是否联网 联网状态提示信息Android实现...

在项目中,经常需要判断是否有网络连接。最近学习了如何判断软件是否联网,如果没有联网,弹出提示信息,连接网络。

效果:

(1)联网情况下:

b51a0124831ff4f7d3b606fa692f975d.png

(2)不联网情况下:

64e75faa6972485e9ab685e4e7f2daa1.png

(3)点击“检测设置”:

688faabbacec80b28246f99e312e528a.png

判断我们的软件是否联网,看代码吧:

/**

* 检测网络连接

*

* @param con

* @return

*/

public boolean isNetworkAvailable(Context con) {

ConnectivityManager cm = (ConnectivityManager) con

.getSystemService(Context.CONNECTIVITY_SERVICE);

if (cm == null)

return false;

NetworkInfo netinfo = cm.getActiveNetworkInfo();

if (netinfo == null) {

return false;

}

if (netinfo.isConnected()) {

return true;

}

return false;

}

如果没有联网,弹出提示框,提示设置网络连接:

/**

* 提示设置网络连接对话框

*

* @param context

*/

public void showNetDialog(final Context context) {

mMaterialDialog = new MaterialDialog(context)

.setMessage("世界上最遥远的距离就是没网")

.setPositiveButton("检查设置", new View.OnClickListener() {

@Override

public void onClick(View v) {

Intent intent = null;

try {

@SuppressWarnings("deprecation")

String sdkVersion = android.os.Build.VERSION.SDK;

if (Integer.valueOf(sdkVersion) > 10) {

intent = new Intent(android.provider.Settings.ACTION_WIRELESS_SETTINGS);

} else {

intent = new Intent();

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

intent.setComponent(comp);

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

}

context.startActivity(intent);

} catch (Exception e) {

e.printStackTrace();

}

mMaterialDialog.dismiss();

}

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

@Override

public void onClick(View v) {

mMaterialDialog.dismiss();

}

});

mMaterialDialog.show();

}

怎么做判断处理:

/**

* 判断是否联网

*/

private void checkNet() {

if(!mCheckNetWork.isNetworkAvailable(getApplication())){

mCheckNetWork.showNetDialog(MainActivity.this);

}else {

Toast.makeText(MainActivity.this,

"有网络,哈哈",Toast.LENGTH_SHORT).show();

}

}

具体代码如下:

MainActivity.java

package com.bzu.gxs.chectnetwork;

import android.app.Activity;

import android.os.Bundle;

import android.view.View;

import android.widget.Button;

import android.widget.Toast;

public class MainActivity extends Activity implements View.OnClickListener{

private CheckNetWork mCheckNetWork =new CheckNetWork();

private Button btn_check;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

init();

}

/**

* 点击事件

*

* @param view

*/

@Override

public void onClick(View view) {

switch (view.getId()){

case R.id.btn_check:

checkNet();

}

}

/**

* 判断是否联网

*/

private void checkNet() {

if(!mCheckNetWork.isNetworkAvailable(getApplication())){

mCheckNetWork.showNetDialog(MainActivity.this);

}else {

Toast.makeText(MainActivity.this,

"有网络,哈哈",Toast.LENGTH_SHORT).show();

}

}

/**

* 初始化

*/

private void init() {

btn_check = (Button) findViewById(R.id.btn_check);

btn_check.setOnClickListener(this);

}

}

CheckNetWork.java

package com.bzu.gxs.chectnetwork;

import android.content.ComponentName;

import android.content.Context;

import android.content.Intent;

import android.media.browse.MediaBrowser;

import android.net.ConnectivityManager;

import android.net.NetworkInfo;

import android.os.Build;

import android.view.View;

import me.drakeet.materialdialog.MaterialDialog;

/**

* 网络检测

* Created by GXS on 2016/5/13.

*/

public class CheckNetWork {

private MaterialDialog mMaterialDialog;

/**

* 检测网络连接

*

* @param con

* @return

*/

public boolean isNetworkAvailable(Context con) {

ConnectivityManager cm = (ConnectivityManager) con

.getSystemService(Context.CONNECTIVITY_SERVICE);

if (cm == null)

return false;

NetworkInfo netinfo = cm.getActiveNetworkInfo();

if (netinfo == null) {

return false;

}

if (netinfo.isConnected()) {

return true;

}

return false;

}

/**

* 提示设置网络连接对话框

*

* @param context

*/

public void showNetDialog(final Context context) {

mMaterialDialog = new MaterialDialog(context)

.setMessage("世界上最遥远的距离就是没网")

.setPositiveButton("检查设置", new View.OnClickListener() {

@Override

public void onClick(View v) {

Intent intent = null;

try {

@SuppressWarnings("deprecation")

String sdkVersion = android.os.Build.VERSION.SDK;

if (Integer.valueOf(sdkVersion) > 10) {

intent = new Intent(android.provider.Settings.ACTION_WIRELESS_SETTINGS);

} else {

intent = new Intent();

ComponentName comp = new

ComponentName("com.android.settings",

"com.android.settings.WirelessSettings");

intent.setComponent(comp);

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

}

context.startActivity(intent);

} catch (Exception e) {

e.printStackTrace();

}

mMaterialDialog.dismiss();

}

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

@Override

public void onClick(View v) {

mMaterialDialog.dismiss();

}

});

mMaterialDialog.show();

}

}

activity_main.xml

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:paddingBottom="@dimen/activity_vertical_margin"

android:paddingLeft="@dimen/activity_horizontal_margin"

android:paddingRight="@dimen/activity_horizontal_margin"

android:paddingTop="@dimen/activity_vertical_margin"

tools:context="com.bzu.gxs.chectnetwork.MainActivity">

android:id="@+id/btn_check"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="测试"/>

注意:需要在清单文件AndroidManifest.xml中加入

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值