现在很多app ,需要取位置信息,所以我也做了一个模块用来取位置信息;

   加入位置服务所需的权限:

    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />

  //首先 获取 LocationManager ;

     final LocationManager locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);

  //创建监听;

          final LocationListener locationListener = new LocationListener() {

                

                // Provider的状态在可用、暂时不可用和无服务三个状态直接切换时触发此函数

                @Override

                public void onStatusChanged(String provider, int status, Bundle extras) {

                    

                }

                

                // Provider被enable时触发此函数,比如GPS被打开

                @Override

                public void onProviderEnabled(String provider) {

                    Log.e("Map", "onProviderEnabled "  );

                }

                

                // Provider被disable时触发此函数,比如GPS被关闭

                @Override

                public void onProviderDisabled(String provider) {

                    

                }

                

                //当坐标改变时触发此函数,如果Provider传进相同的坐标,它就不会被触发

                @Override

                public void onLocationChanged(Location location) {

                    if (location != null) {   

                        Log.e("Map", "Location changed : Lat: "  

                        + location.getLatitude() + " Lng: "  

                        + location.getLongitude());

}

                }

            };

////判断使用哪种方式取位置信息;注册监听(最小时间间隔为1秒,最小距离间隔为0米)

if(locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER))

            {

                //第一个参数,与取

                locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,1000, 0,locationListener);   

            }

            else

            {

                locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER,1000, 0,locationListener);

            }

// 也可以取上次的定位信息

Location location = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);   

            if(location != null){   

                latitude = location.getLatitude(); //经度   

                longitude = location.getLongitude(); //纬度

                

                Log.e("Map", "NETWORK_PROVIDER changed : Lat: "  

                + location.getLatitude() + " Lng: "  

                + location.getLongitude());

stopLister(this);

}

// 去掉监听;

private void stopLister(LocationListener listener) {

        if (locationManager != null) {

            locationManager.removeUpdates(listener);

        }

        locationManager = null;

}

具体代码见demo;

http://download.csdn.net/detail/q610098308/8858059

但现在有一个很严重的问题就是,一般用户可能不会开启GPS,这样的话,只能通过网络定位来获取位置信息,但大概手机是定制的手机,无法从网络取到位置信息;

所以我是通过第三方来取位置信息的

见demo;

http://download.csdn.net/detail/q610098308/8858067



android GPS 定位,取位置信息的更多相关文章

  1. Android GPS获取当前位置信息

    package com.example.gpstest; import org.apache.http.util.LangUtils; import android.content.Context; ...

  2. android GPS定位源码 地图显示位置源码 有用到的小伙伴自提取

    package com.jasgroup.cn.amhdeam; import java.io.IOException; import java.util.Iterator; import andro ...

  3. android gps定位LocationManager

    android location provider有: * LocationManager.GPS_PROVIDER:GPS,精度比较高,但是慢而且消耗电力,而且可能因为天气原因或者障碍物而无法获取卫 ...

  4. Android GPS定位测试(附效果图)

    今天因为工作需要,把以前编写的一个GPS测试程序拿出来重新修改了一下.这个程序说起来有些历史了,是我11年编写的,那时候学了Android开发没多久,算是一个实验性的作品.现在工作需要,重新拿出来修整 ...

  5. Android GPS定位测试(附效果图)

    今天因为工作需要,把以前编写的一个GPS测试程序拿出来重新修改了一下.这个程序说起来有些历史了,是我11年编写的,那时候学了Android开发没多久,算是一个实验性的作品.现在工作需要,重新拿出来修整 ...

  6. Android GPS定位 获取经纬度

    移动 是手机与手持设备的最大特点,可以通过Eclipse的DDMS视图,模拟设备的位置变化,改变经纬度后,点击send,然后运行程序,在应用程序中,动态的获取设备位置,然后显示当前的位置信息. 获取位 ...

  7. iOS开发----地图与导航--定位和位置信息获取

    要实现地图.导航功能,往往需要先熟悉定位功能,在iOS中通过Core Location框架进行定位操作.Core Location自身可以单独使用,和地图开发框架MapKit完全是独立的,但是往往地图 ...

  8. iOS定位和位置信息获取

    要实现地图.导航功能,往往需要先熟悉定位功能,在iOS中通过Core Location框架进行定位操作.Core Location自身可以单独使用,和地图开发框架MapKit完全是独立的,但是往往地图 ...

  9. Android不间断上报位置信息-应用进程防杀指南

    没用的 除非加入白名单 或者用户自己设置锁屏后不被杀死 不然的话 锁屏5分钟以内app会被杀死,包 括所有的service. 说白了就是定位不要纯依赖gps,很多硬件为了省电,会对熄屏下的模块功能和运 ...

随机推荐

  1. LES on Wind turbine

  2. 洛谷 2449 [SDOI2005]矩形

    [题解] 因为这道题中n比较小,n^2效率是可以接受的. 枚举两个矩形,如果它们有重叠部分,就用并查集合并一下即可. #include<cstdio> #include<algori ...

  3. ebay 如何获取用户token

    1. 首先 配置环境加载依赖的ebay SDK 下载地址 https://go.developer.ebay.com/ebay-sdks 需要在本地仓库安装下面的jar mvn install:ins ...

  4. Maven_运行时环境

    首先,创建一动态web工程. Src-----源码目录 build文件夹在java结构下看不出,但可以在Navigator下可以看出是个源码目录,如下图: 以下图中是运行时环境. 它其实是一组jar包 ...

  5. HTTP 请求的 GET 与 POST 方式的区别

    HTTP 请求的 GET 与 POST 方式的区别 在客户机和服务器之间进行请求-响应时,两种最常被用到的方法是:GET 和 POST. GET - 从指定的资源请求数据. POST - 向指定的资源 ...

  6. java json数据转List对象的集合-----阿里巴巴插件---及原生json---JSON 与 对象 、集合 之间的转换 JSON字符串和java对象的互转【json-lib】

    List<RunfastFullLess> list=(List<RunfastFullLess>)JSONArray.parseObject(activity.getFull ...

  7. Quartz原理解密

    Quartz原理解密 Author: Dorae Date:2018年7月17日15:55:02 转载请注明出处 一.quartz概述 quartz是一个用java实现的开源任务调度框架,可以用来创建 ...

  8. android从sdcard中读取bitmap

    String sdcard_path=Environment.getExternalStorageDirectory().getCanonicalPath(); String file_path=sd ...

  9. alpha版出炉,实现win2008 service的session 0穿透

    指定用户名,拿最小session,实现和用户ui交互. 这样,搞windows的自动化部署,就可以向前一大步啦. 比以前用psexec要用户名密码,指定session要先进多啦. 安全保密性也提高了. ...

  10. zoj——3556 How Many Sets I

    How Many Sets I Time Limit: 2 Seconds      Memory Limit: 65536 KB Give a set S, |S| = n, then how ma ...