现在很多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. 洛谷 4251 [SCOI2015]小凸玩矩阵

    [题解] 二分答案+二分图匹配. 先二分最小值Min,然后扫一遍这个矩阵,把满足a[i][j]<=Min的i,j连边,之后跑二分图匹配,如果最大匹配数大于等于n-k+1,当前的Min即是合法的. ...

  2. LA 3029 City Game

    LA 3029 求最大子矩阵问题,主要考虑枚举方法,直接枚举肯定是不行的,因为一个大矩阵的子矩阵个数是指数级的,因此应该考虑先进行枚举前的扫描工作. 使用left,right,up数组分别记录从i,j ...

  3. yarn & vue-cli

    yarn & vue-cli https://github.com/xgqfrms/ES6/issues/10 install https://yarnpkg.com/zh-Hans/docs ...

  4. CodeForces 367E Sereja and Intervals

    CodeForces 3 67E (109 + 7). Two ways are considered distinct if there is such j(1 ≤ j ≤ n), that the ...

  5. HBase的集群搭建

    前提:已经安装过jdk,HDFS集群和zookeeper,我的集群规划见HDFS的文章中 1.在1上安装配置hbase 下载:http://mirror.bit.edu.cn/apache/hbase ...

  6. $inject的用法

    controller后面的$inject是用来注入函数的变量名称的

  7. C# 反射基础

    反射的定义:审查元数据并收集关于它的类型信息的能力.元数据(编译以后的最基本数据单元)就是一大堆的表,当编译程序集或者模块时,编译器会创建一个类定义表,一个字段定义表,和一个方法定义表等. 公共语言运 ...

  8. 【Android 开发实例】时间管理APP开发之数据库设计

    当然也能够先写界面什么的.可是,总认为先把数据库后台写好在写界面比較放心. 对于数据库的设计,我一開始没什么概念.甚至不知道怎样下手,一開始想着设计成几个表?有哪些字段? 最后用了两天时间,还是一无所 ...

  9. Andriod实现刮刮卡的效果

    思想: 将一个View设计成多层,内层(包含中奖信息)和外层(用于刮奖),外层的图层用Canvas与一个Bitmap关联,用这个关联的Bitmap来处理手势的滑动.类似于刮奖的动作. 使用paint. ...

  10. jqury+css实现可弹出伸缩层

    1.使用可弹出伸缩窗调整了之前的页面布局,使用这样的布局使整个界面看起来更加清爽也更简洁 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L ...