现在很多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. LINUX-系统信息

    系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS ...

  2. Python面向对象之面向对象封装案例

    面向对象封装案例 封装 封装是面型对象编程的一大特点 面向对象编程的第一步--将属性和方法封装到一个抽象的类中: 外界使用类创建对象,然后让对象调用方法: 对象方法的细节都被封装在类的内部. 一个对象 ...

  3. 【3】数据筛选3 - BeautifulSoup4

    #目录     1. 开发前准备     2. 不同解析器对比     3. BeautifulSoup4 初始化和节点对象的认识     4. BS4 案例操作:初始化对象文档     5. 节点查 ...

  4. display math in cnblog

    $a=b+c$ this is a example \(a=\frac{b}{c}\)

  5. Navigator的学习

      Navigator 对象包含有关浏览器的信息.注释:没有应用于 navigator 对象的公开标准,不过所有浏览器都支持该对象.   我感觉需要看什么属性和方法,直接输出这个navigator,然 ...

  6. [luoguP1941] 飞扬的小鸟(DP)

    传送门 动归,用f[i][j]表示到达第I列高度为j时最少需要飞的次数,容易想到最裸的转移: f[i][j]=min(min(f[i-1][j-up[i-1]*k]+k),f[i-1][j+down[ ...

  7. 1827 tarjan+缩点

    #include<stdio.h> #include<stack> #include<iostream> #include<string.h> #inc ...

  8. 又见GCD

    Problem Description 有三个正整数a,b,c(0<a,b,c<10^6),其中c不等于b.若a和c的最大公约数为b,现已知a和b,求满足条件的最小的c.   Input ...

  9. 【CV论文阅读】 Fast RCNN + SGD笔记

    Fast RCNN的结构: 先从这幅图解释FAST RCNN的结构.首先,FAST RCNN的输入是包含两部分,image以及region proposal(在论文中叫做region of inter ...

  10. Windows 如何在右键中添加“在此处打开CMD窗口”选项

    将以下代码保存为XXX.reg,然后双击导入注册表 Windows Registry Editor Version 5.00   [HKEY_CLASSES_ROOT\Directory\shell\ ...