- 1.在 AndroidManifest.xml中设置权限
- <uses-permission android:name="android.permission.INTERNET"> </uses-permission>
- <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
- 2.创建一个判断网络的工具类 ConnectionUtils 里面包含两个方法一个是网络判断的,另一个是网络设置,具体代码如下:
- import android.content.ComponentName;
- import android.content.Context;
- import android.content.DialogInterface;
- import android.content.Intent;
- import android.net.ConnectivityManager;
- import android.net.NetworkInfo;
- import android.support.v7.app.AlertDialog;
- /**
- * Created by TIGER LEE on 2017/6/1.
- */
- public class ConnectionUtil {
- /*
- * 判断网络连接是否已开
- *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(android.os.Build.VERSION.SDK_INT>10){
- intent = new Intent(android.provider.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();
- }
- }
- 3.在相应的位置调用即可(请求数据的界面调用) 在fragment界面调用的
- if (!ConnectionUtil.isConn(getContext())) {
- //没网就进行网络设置
- ConnectionUtil.setNetworkMethod(getContext());
- } else{
- //请求数据的方法
- getDataFromServer();
- }
判断网络连接,没网进行设置
最新推荐文章于 2021-05-21 22:34:02 发布
本文介绍了在Android中如何检查网络连接状态,并在没有网络时弹出对话框引导用户进入网络设置。首先,在AndroidManifest.xml中添加INTERNET和ACCESS_NETWORK_STATE权限。然后,创建一个名为ConnectionUtils的工具类,包含判断网络连接和打开网络设置的方法。在需要请求数据的界面,使用ConnectionUtils检查网络,若无网络则调用设置方法。
摘要由CSDN通过智能技术生成