Android判断GPS及网络是否开启

转载:http://blog.csdn.net/q394895302/article/details/51034984



用高德地图做打车软件,在输入地址要搜索匹配是没有网络不能进行搜索,以及为了定位更准确要开启GPS状态,若没有开启则弹出对话框提示,选择时则跳转到控制界面去。

下面是对GPS是否连接做的判断,为开启弹出对话框提示,代码:

[java]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1.  private void initGPS() {  
  2.         LocationManager locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);  
  3.         // 判断GPS模块是否开启,如果没有则开启  
  4.         if (!locationManager.isProviderEnabled(android.location.LocationManager.GPS_PROVIDER)) {  
  5.             Toast.makeText(MainActivity.this"请打开GPS", Toast.LENGTH_SHORT).show();  
  6.             final AlertDialog.Builder dialog = new AlertDialog.Builder(this);  
  7.             dialog.setTitle("请打开GPS连接");  
  8.             dialog.setMessage("为方便司机更容易接到您,请先打开GPS");  
  9.             dialog.setPositiveButton("设置"new android.content.DialogInterface.OnClickListener() {  
  10.                 @Override  
  11.                 public void onClick(DialogInterface arg0, int arg1) {  
  12.                     // 转到手机设置界面,用户设置GPS  
  13.                     Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);  
  14.                     Toast.makeText(MainActivity.this"打开后直接点击返回键即可,若不打开返回下次将再次出现", Toast.LENGTH_SHORT).show();  
  15.                     startActivityForResult(intent, 0); // 设置完成后返回到原来的界面  
  16.                 }  
  17.             });  
  18.             dialog.setNeutralButton("取消"new android.content.DialogInterface.OnClickListener() {  
  19.                 @Override  
  20.                 public void onClick(DialogInterface arg0, int arg1) {  
  21.                     arg0.dismiss();  
  22.                 }  
  23.             });  
  24.             dialog.show();  
  25.         } else {  
  26.             searchRouteResult(startPoint, endPoint);//路径规划  
  27.             // 弹出Toast  
  28. //          Toast.makeText(TrainDetailsActivity.this, "GPS is ready",Toast.LENGTH_LONG).show();  
  29. //          // 弹出对话框  
  30. //          new AlertDialog.Builder(this).setMessage("GPS is ready").setPositiveButton("OK", null).show();  
  31.         }  
  32.     }  

要检测是只要在相应的位置调用此方法即可。

下面是对网络检测部分进行操作,只要Wifi和移动网络开启其中之一就不弹出提示对话框,都未开启则弹出对话框,代码如下:

[java]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. /** 
  2.     * 判断网络连接是否已开 
  3.     * true 已打开  false 未打开 
  4.     */  
  5.    public static boolean isConn(Context context) {  
  6.        if (context != null) {  
  7.            ConnectivityManager mConnectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);  
  8.            NetworkInfo mNetworkInfo = mConnectivityManager.getActiveNetworkInfo();  
  9.            if (mNetworkInfo != null) {  
  10.                return mNetworkInfo.isAvailable();  
  11.            }  
  12.            searchNetwork(context);//弹出提示对话框  
  13.        }  
  14.        return false;  
  15.    }  
  16.   
  17.    /** 
  18.     * 判断网络是否连接成功,连接成功不做任何操作 
  19.     * 未连接则弹出对话框提示用户设置网络连接 
  20.     */  
  21.    public static void searchNetwork(final Context context) {  
  22.        //提示对话框  
  23.        AlertDialog.Builder builder = new AlertDialog.Builder(context);  
  24.        builder.setTitle("网络设置提示").setMessage("网络连接不可用,是否进行设置?").setPositiveButton("设置"new DialogInterface.OnClickListener() {  
  25.   
  26.            @Override  
  27.            public void onClick(DialogInterface dialog, int which) {  
  28.                Intent intent = null;  
  29.                //判断手机系统的版本  即API大于10 就是3.0或以上版本  
  30.                if (android.os.Build.VERSION.SDK_INT > 10) {  
  31.                    intent = new Intent(android.provider.Settings.ACTION_WIRELESS_SETTINGS);  
  32.                } else {  
  33.                    intent = new Intent();  
  34.                    ComponentName component = new ComponentName("com.android.settings""com.android.settings.WirelessSettings");  
  35.                    intent.setComponent(component);  
  36.                    intent.setAction("android.intent.action.VIEW");  
  37.                }  
  38.                context.startActivity(intent);  
  39.            }  
  40.        }).setNegativeButton("取消"new DialogInterface.OnClickListener() {  
  41.            @Override  
  42.            public void onClick(DialogInterface dialog, int which) {  
  43.                dialog.dismiss();  
  44.            }  
  45.        }).show();  
  46.    }  

在相应的地方调用isConn方法即可。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值