`
yejun0099
  • 浏览: 26230 次
  • 性别: 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-location-service-源码.rar

    《Android定位服务源码解析》 在Android操作系统中,定位服务是移动应用开发的...通过对“android-location-service-源码.rar”的深入学习,开发者可以提升应用的用户体验,同时为复杂环境下的定位问题找到解决方案。

    android-get-last-location-fused-api.7z

    "android-get-last-location-fused-api.7z" 文件很可能包含了一个示例项目,演示了如何使用Android的Fused Location Provider API来获取设备的最新位置信息。Fused Location Provider是Google Play服务的一部分,它...

    谷歌开源的串口类android-serialport-api

    - **权限申请**:在AndroidManifest.xml中添加`&lt;uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /&gt;`和`&lt;uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /&gt;`...

    android location 位置定位

    在Android平台上,位置定位是移动应用开发中的关键功能,它允许应用获取用户的地理位置信息,用于导航、社交、天气预报等多种用途。本篇文章将深入探讨Android的`location`服务,包括其工作原理、API使用以及一些...

    Android地图定位googleSDK使用

    总结来说,使用Android中的Google Maps SDK和Google Location SDK可以实现地图展示和定位功能。通过添加依赖、配置权限、初始化地图、创建FusedLocationProviderClient对象以及监听位置更新,我们可以实现基本的地图...

    Android应用源码---基于WIFI的室内定位系统 .zip

    Android系统提供了服务(Service)组件,允许应用在后台运行,即使用户离开应用界面,也能继续执行定位任务。 10. **用户界面(UI)设计**: 一个良好的UI设计可以提升用户体验。开发者需考虑如何清晰地展示定位...

    高德Android 定位SDK示例

    总结,高德Android定位SDK为开发者提供了强大的定位能力,通过合理的配置和使用,可以实现高效的定位服务,提升用户体验。通过分析"AMapLocTest"示例,我们可以更好地理解和应用这些技术,为自己的应用增添价值。

    Android-Android-RxLocationSettings用RxJava请求位置之前确认设置

    为了实现这一功能,开发者通常会使用Android的Location API。然而,为了确保位置服务的可用性和准确性,开发者需要在请求位置更新之前检查系统的定位设置。这就是`Android-RxLocationSettings`库的作用,它结合了...

    Android-Android定位基于百度基础定位sdk封装

    本项目“Android-Android定位基于百度基础定位sdk封装”提供了一个方便开发者使用的Android定位解决方案,它基于百度地图SDK进行封装,简化了集成过程,使得开发者能够更快速地实现定位功能。 首先,我们需要了解...

    android项目--天气预报

    5. **Location API**:获取用户当前位置,可以使用Android的Location API。这可能涉及到GPS、Wi-Fi或移动网络定位,需要处理定位请求、监听位置变化并处理定位结果。 6. **第三方天气API**:像OpenWeatherMap、...

    android简单定位实例

    本实例将详细解析如何在Android应用中集成定位功能,让应用能够获取到用户的实时位置信息。 首先,我们需要在AndroidManifest.xml文件中添加必要的权限,这是使用定位服务的前提。以下是一些关键的权限声明: ```...

    android-wifi-test-master.zip_android_wifi test

    通过上述的知识点,我们可以理解"android-wifi-test-master"项目旨在提供一个工具,帮助开发者或用户了解Wi-Fi信号在不同环境下的表现,从而优化网络使用体验或者进行室内定位的初步研究。项目的实现涉及到Android...

    android-location-tracker:跟踪用户位置的Android帮助器

    "android-location-tracker"是一个专门针对Android系统的库,旨在简化开发者追踪和管理用户地理位置的过程。这个库利用了Android的地理位置API,提供了高效且易于集成的位置跟踪功能。在本文中,我们将深入探讨这个...

    A-GPS定位与GPS定位的Android简单实现

    在Android平台上,定位服务是应用开发中的重要组成部分,它允许应用程序获取用户的位置信息,以便提供导航、地图服务、社交网络等功能。本篇文章将探讨两种主要的定位技术:A-GPS(Assisted GPS)和GPS(Global ...

    mapbox-android-demo-master.zip

    11. **权限管理**: 在Android应用中使用Mapbox时,需要处理好相应的权限,如ACCESS_FINE_LOCATION用于获取用户位置。 12. **集成Google Play服务**: 虽然Mapbox是独立的服务,但其Demo可能整合了Google Play服务,...

    基于Android的A-GPS和WiFi的混合定位算法设计.pdf

    知识点 1:location-based services(LBS) * 定义:LBS 是一种基于用户位置信息的服务,能够提供个性化的服务和信息。 * 应用场景:LBS 在 Android 系统中得到了广泛的应用,例如导航、实时交通信息、近距离搜索等...

    Android 定位权限申请

    对于地理位置权限,需添加`&lt;uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /&gt;`或`&lt;uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /&gt;`,前者允许精确定位,...

    android 百度定位locSDK-4.0定位自己所在地

    本教程将详细介绍如何在Android项目中使用百度定位LocSDK 4.0来获取用户当前的地理位置。 首先,我们需要在项目中引入百度定位的依赖库。在你的`build.gradle`(Module)文件中,添加以下依赖: ```groovy ...

    Android Studio定位

    总结,Android Studio定位涉及了Google Play服务的Location API,FusedLocationProviderClient的使用,权限管理,位置请求与更新,以及异常处理和优化。开发者需要理解这些基础知识,并结合实际应用需求进行合理配置...

    Android-自定义使用高德SDK进行定位的插件

    文件名`cordova-gaode-location-master`表明这是一个Cordova插件的源码仓库,用于在Cordova应用中调用高德地图的定位服务。 1. **安装与配置**:首先,需要将高德地图SDK的jar或aar库添加到Android项目的依赖中。...

Global site tag (gtag.js) - Google Analytics