现在很多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. docker CE 的安装

    一.Docker CE的安装1.先决条件运行环境:Ubuntu 64位或者其他支持Docker的64位系统运行配置,linux内核版本必须大于 3.10,否则会因为缺少容器运行所需的功能而出错. 2. ...

  2. Spring常用注解总结 hibernate注解

    1.@Resource和@Autowired @Resource和@Autowired功能一样在容器查找匹配的Bean @Autowired默认按照byType方式进行bean匹配,@Resource ...

  3. 如何取消codeblocks对msvcr100.dll的依赖?

    用VS2010或是codeblocks开发的程序,在开发之外的机器上,可能会提前缺少msvcr100.dll之类的文件. 可以用如何设置,取消其对库文件的依赖. 当然,还要注意创建程序的类型.(补) ...

  4. MYSQL的一些常用函数

    #数学函数 SELECT ABS(-8);#绝对值SELECT CEILING(9.8);#查询大于等于给定数值的最小整数SELECT FLOOR(9.8);#查询小于等于给定数值的最大整数SELEC ...

  5. vue2源码浏览分析01

    1.构造函数  Vue$3 function Vue$3 (options) { if ("development" !== 'production' && !(t ...

  6. Speak a Good Word for SB

    今天举行了英语词汇发音交流会,通过这个会议我有了非常大了感触. 一共同拥有三个环节.第一个环节读单词我们组读的单词it.pen.do.stop.think.park.sink.wood.在这一个环节中 ...

  7. iOS网络高级编程:iPhone和iPad的企业应用开发之错误处理

    本章内容 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcWluZ2h1YXdlbmthbmc=/font/5a6L5L2T/fontsize/400/fi ...

  8. 【剑指offer】合并两有序单链表

    转载请注明出处:http://blog.csdn.net/ns_code/article/details/25739727 九度OJ上AC,採用归并的思想递归实现. 题目描写叙述: 输入两个单调递增的 ...

  9. ZOJ2599:Graduated Lexicographical Ordering(很经典的数位DP)

    Consider integer numbers from 1 to n. Let us call the sum of digits of an integer number its weight. ...

  10. Java大数练习第二弹

    hdu1250 水题 题目链接:pid=1250">http://acm.hdu.edu.cn/showproblem.php?pid=1250 import java.util.*; ...