`
yejun0099
  • 浏览: 25098 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

android的用户定位---location使用

阅读更多

四个步骤:

1.添加权限

2.获取locationManager对象

3.获取locationProvider

4.绑定locationListener对象

 

 

首先在Manifest.xml中添加权限

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> //此为高精度--GPS定位选择

 

<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>//此为精度一般--NetWork 定位可选上下2个

 

代码:

package com.example.location1;

import android.location.Criteria;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class Loaction extends Activity {
	
	EditText et1;
	EditText et2;
	Button bt;
	LocationManager lm;
	LocationListener listener;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        et1 = (EditText) findViewById(R.id.et1);
        et2 = (EditText) findViewById(R.id.et2);
        bt = (Button) findViewById(R.id.bt);
        bt.setText("绑定监听器");
        bt.setOnClickListener(new View.OnClickListener() {
			
			@Override
			public void onClick(View v) {
		      //获得最适合的provider	  
		        Criteria cr = new Criteria();
		        //设置经度 
		        cr.setAccuracy(Criteria.ACCURACY_FINE);
		        //是否需要提供海拔信息
		        cr.setAltitudeRequired(false);
		        //设置需要方向信息
		        cr.setBearingRequired(false);
		        //设置是否产生费用
		        cr.setCostAllowed(false);
		        //设置电量高低
		        cr.setPowerRequirement(Criteria.POWER_LOW);
		        //设置速度经度
		        cr.setSpeedRequired(false);	
				
			lm = (LocationManager) Loaction.this.getSystemService(Context.LOCATION_SERVICE);
			//true 只在打开的provider中寻找 false 在所有的provider中寻找最合适的
			String provider = lm.getBestProvider(cr, false);
			System.out.println(provider);//---GPS 最合适的
			lm.requestLocationUpdates(provider, 0, 0, listener);
			}
		});
      
        listener = new LocationListener() {
			
			@Override
			public void onStatusChanged(String provider, int status, Bundle extras) {
				
			}
			
			@Override
			public void onProviderEnabled(String provider) {
				// TODO Auto-generated method stub
				
			}
			
			@Override
			public void onProviderDisabled(String provider) {
				// TODO Auto-generated method stub
			}
			
			@Override
			public void onLocationChanged(Location location) {
				double lg = location.getLongitude();
				double la = location.getLatitude();
				et1.setText(lg+"");
				et2.setText(la+"");
			}
		};
    }
    
    
    
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
}

 

 

分享到:
评论

相关推荐

    Android高级编程--源代码

    作为使用androidsdk构建这些应用程序的实用指南书籍,《android高级编程》从始至终穿插了一系列示例项目,每个项目都引入android的新功能和新技术,以助您达到最圆满的学习效果。书中介绍android的所有基本功能,并...

    老罗android开发视频教程全集百度网盘下载

    Android进阶高级:蓝牙/WIFI SMS/MMS 应用实现 深层次解析GPS原理,实现LocationManager/LocationProvider 进行定位/跟踪/查找/趋近警告以及Geocoder正逆向编解码等技术细节 2D图形库(Graphics/View)详解 SDCARD/...

    android 使用LocationManager 用户定位

    这是一个用户定位的示例 Main 类用于演示获取Location Provider Main2 类用于演示获取最佳的Location Provider,两个类要修改Manifest.xml 文件才能分别运行

    新版Android开发教程.rar

    的 Android SDK 提供了在 Android 平台上使用 JaVa 语言进行 Android 应用开发必须的工具和 API 接口。 特性 • 应用程序框架 支持组件的重用与替换 • Dalvik Dalvik Dalvik Dalvik 虚拟机 专为移动设备优化 • ...

    Android定位功能,获取经纬度

    随着互联网的兴起,手机用户的增多,基于位置的服务技术得到的空前的发展,现在的手机app大部分都有定位当前位置的功能,这方便了我们找路线,找产品,生活中处处都需要这个定位功能,几乎每一款互联网的产品也都...

    Android应用开发详解

    第4章 Android用户界面 Android 用户界面,讲述了Android中的事件处理机制、布局管理和常用组件的使用。 第5章 Android基本程序单元Activity Android 基本程序单元Activity,讲述了Android中重要组件Activity的...

    Android_location__Code.zip_GHR_GPS_android_location_电子地图

    Android定位服务源码,给用户提供全方位的位置支持,主要分为“我在哪儿”、“电子地图”、“历史记录”、“周边搜索”、“线路规划”、“分享给好友”功能

    Android入门到精通源代码.

    11.2 Android Location-Based API简介 11.3 Android模拟器支持的GPS定位文件 11.3.1 KML 11.3.2 NMEA 11.4 应用实例详解:确定当前 位置的GPS程序 11.4.1 实例分析 11.4.2 实例实现 11.5 基于Google Map的应用 ...

    疯狂Android讲义源码

     1.3.2 使用Android模拟器  (Emulator) 14  1.3.3 使用DDMS进行调试 15  1.3.4 Android Debug Bridge(ADB)  的用法 16  1.3.5 使用DX编译Android应用 18  1.3.6 使用Android Asset Packaging  Tool...

    Android获取位置信息的方法

    英文翻译为Location-Based Services,缩写为LBS,又称为定位服务或基于位置的服务,融合了GPS定位、移动通信、导航等多种技术,提供与空间位置相关的综合应用服务,基于位置的服务发展很迅速,涉及商务、医疗、工作...

    android 的permisson

    获取错略位置 android.permission.ACCESS_COARSE_LOCATION,通过WiFi或移动基站的方式获取用户错略的经纬度信息,定位精度大概误差在30~1500米 获取精确位置 android.permission.ACCESS_FINE_LOCATION,通过GPS芯片...

    location-based-reminder:用于基于位置的提醒的android原型

    #基于位置的提醒Android原型,用于基于位置的提醒。 目的是使用户能够提醒某些任务,这些任务并非仅针对一个点,而是针对多个任务(不过也可以仅针对一个点)。 例如,您可以设置一个提醒,您需要在您首选的连锁...

    android 权限大全 分享

    获取错略位置 android.permission.ACCESS_COARSE_LOCATION,通过WiFi或移动基站的方式获取用户错略的经纬度信息,定位精度大概误差在30~1500米获取精确位置 android.permission.ACCESS_FINE_LOCATION,通过GPS芯片...

    疯狂Android讲义.part2

    1.3.2 使用Android模拟器 (Emulator) 14 1.3.3 使用DDMS进行调试 15 1.3.4 Android Debug Bridge(ADB) 的用法 16 1.3.5 使用DX编译Android应用 18 1.3.6 使用Android Asset Packaging Tool(AAPT)打包资源 19 ...

    疯狂Android讲义.part1

    1.3.2 使用Android模拟器 (Emulator) 14 1.3.3 使用DDMS进行调试 15 1.3.4 Android Debug Bridge(ADB) 的用法 16 1.3.5 使用DX编译Android应用 18 1.3.6 使用Android Asset Packaging Tool(AAPT)打包资源 19 ...

    android_移动编程googleMap

    位置服务(Location-Based Services,LBS),又称定位服务或基于位置的服务,融合了GPS定位、移动通信、导航等多种技术,提供了与空间位置相关的综合应用服务 位置服务首先在日本得到商业化的应用 2001年7月,DoCoMo...

    Android百度地图定位、显示用户当前位置

    本文实例为大家分享了Android百度地图定位、显示用户当前位置的工具类,供大家参考,具体内容如下 1、构建定位Option的工具类 import com.baidu.location.LocationClientOption; /** * 建造 LocationClientOption ...

    Android8.0适配前台定位服务service的示例代码

    从Android 8.0开始系统为实现降低功耗,对后台应用获取用户位置信息频率进行了限制,每小时只允许更新几次位置信息,详细信息请参考官方说明。按照官方指引,如果要提高位置更新频率,需要后台应用提供一个前台服务...

    Android使用criteria选择合适的地理位置服务实现方法

    * 利用Criteria选择最优的位置服务,演示定位用户的位置并且监听位置变化的代码 * */ package uni.location; import android.app.Activity; import android.content.Context; import android.location.Criteria; ...

Global site tag (gtag.js) - Google Analytics