android-如何检查 LocationManager.NETWORK_PROVIDER 是否可用?

问题描述

如何检查 LocationManager.NETWORK_PROVIDER 是否可用?

如何检查 LocationManager.NETWORK_PROVIDER 是否可用?我在 AndroidManifest.xml 里面配置了,但是需要在代码里检查一下使用 GPS_PROVIDER 是否可行。如何检查?请大家指点迷津。

解决方案

LocationManager lm = (LocationManager) this.getSystemService(LOCATION_SERVICE);
lm.isProviderEnabled(aLocationManager.GPS_PROVIDER);
lm.isProviderEnabled(LocationManager.NETWORK_PROVIDER);

解决方案二:

使用 Network provider 或者 GPS provider 来获取

private Location getLocation() {
        Location gpslocation = null;
        Location networkLocation = null;

        if(locMan==null){
          locMan = (LocationManager) getApplicationContext() .getSystemService(Context.LOCATION_SERVICE);
        }
        try {
            if(locMan.isProviderEnabled(LocationManager.GPS_PROVIDER)){
                locMan.requestLocationUpdates(LocationManager.GPS_PROVIDER,1000, 1, gpsListener);
                gpslocation = locMan.getLastKnownLocation(LocationManager.GPS_PROVIDER);

            }
            if(locMan.isProviderEnabled(LocationManager.NETWORK_PROVIDER)){
                locMan.requestLocationUpdates(LocationManager.NETWORK_PROVIDER,1000, 1, gpsListener);
                networkLocation = locMan.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
            }
        } catch (IllegalArgumentException e) {
            //Log.e(ErrorCode.ILLEGALARGUMENTERROR, e.toString());
            Log.e("error", e.toString());
        }
        if(gpslocation==null && networkLocation==null)
            return null;

        if(gpslocation!=null && networkLocation!=null){
            if(gpslocation.getTime() < networkLocation.getTime()){
                gpslocation = null;
                return networkLocation;
            }else{
                networkLocation = null;
                return gpslocation;
            }
        }
        if (gpslocation == null) {
            return networkLocation;
        }
时间: 2024-10-07 09:02:45

android-如何检查 LocationManager.NETWORK_PROVIDER 是否可用?的相关文章

Android编程判断网络连接是否可用的方法_Android

本文实例讲述了Android编程判断网络连接是否可用的方法.分享给大家供大家参考,具体如下: 为了提高用户体验,我们在开发 android 应用的过程需要联网获取数据的时候我们首先要做的一步就是: 1.判断当前手机是否打开了网络 2.打开了网络是否可以上网 然后再去执行联网逻辑,避免没联网做不必要的工作! 通常情况下,我们是这样判断的 public static boolean isNetAvailable(Context context) { ConnectivityManager conne

Android曝新漏洞:黑客可用一键认证盗取用户密码

近段时间,黑客们在Android系统中发现了大量的漏洞,其中包括了将合法Android软件变成恶意软件.FBI可远程监听Android电话麦克风等等.现在, PCWorld又曝出了Android的一个新漏洞--使用谷歌的一键式认证即可盗取用户密码.498)this.w idth=498;' onmousewheel = 'javascript:return big(this)' style="width: 464px; height: 338px" border="0&quo

android 获取手机内存及 内存可用空间的方法

实例如下: //1.获取内存可用大小,内存路径 String path=Environment.getDataDirectory().getAbsolutePath(); String memoryAvaliSpace= Formatter.formatFileSize(this,getAvailSpace(path)); //2.获取sd卡可用大小,sd卡路径 String sdPath=Environment.getExternalStorageDirectory().getAbsolute

Android编程判断网络连接是否可用的方法

本文实例讲述了Android编程判断网络连接是否可用的方法.分享给大家供大家参考,具体如下: 为了提高用户体验,我们在开发 android 应用的过程需要联网获取数据的时候我们首先要做的一步就是: 1.判断当前手机是否打开了网络 2.打开了网络是否可以上网 然后再去执行联网逻辑,避免没联网做不必要的工作! 通常情况下,我们是这样判断的 public static boolean isNetAvailable(Context context) { ConnectivityManager conne

Android中判断网络连接是否可用及监控网络状态_Android

获取网络信息需要在AndroidManifest.xml文件中加入相应的权限. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 1)判断是否有网络连接 复制代码 代码如下: public boolean isNetworkConnected(Context context) { if (context != null) { ConnectivityManager mConn

android开发中获取手机上可用SD卡方法分享

现在的android手机型号复杂多样,造成了开发过程中使用官方的获取sd卡的方法在部分的手机上并不适用,所以需要进行开发的自己封装,以下就是代码,希望分享出来,大家共同学习 /*** 获取手机sd卡的工具类* @author wy*/public class SDCardUtils {/** avoid initializations of tool classes*/private SDCardUtils() {// TODO Auto-generated constructor stub}

Android中判断网络连接是否可用及监控网络状态

获取网络信息需要在AndroidManifest.xml文件中加入相应的权限. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 1)判断是否有网络连接 复制代码 代码如下:public boolean isNetworkConnected(Context context) { if (context != null) { ConnectivityManager mConne

Android中判断网络连接是否可用的方法总结

Android 网路判断 判断当前网络是否是wifi /** * 判断当前是否是wifi * @param mContext * @return */ private static boolean isWifi(Context mContext) { ConnectivityManager connectivityManager = (ConnectivityManager) mContext .getSystemService(Context.CONNECTIVITY_SERVICE); Ne

Android中 检查网络连接状态的变化,无网络时跳转到设置界面

在AndroidManifest.xml中加一个声明 <receiver android:name="NetCheckReceiver"> <intent-filter> <action android:name="android.net.conn.CONNECTIVITY_CHANGE" /> </intent-filter> </receiver> NetCheckReceive.java文件如下 im