`
wu.sheng
  • 浏览: 67002 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Android 访问GPS获取位置信息

阅读更多

      关于Android的位置访问,包含两部分,一个是通过GPS模块,获取位置信息,另外一个是调用GOOGLE MAP的API,显示位置信息。目前的需求,主要还是获取地址信息,这样可以通过与服务器的交互,获取与位置相关的信息。

      首先需要得到获取地址信息的软件许可:

     AndroidManifest.xml文件中加入:

     <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

     注意:很多帖子对于permission的位置说了很多,有的说需要放在application节点里面之类的,其实放在外面是可以生效的。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="20101219"
	android:versionName="alpha 0.3">
	<uses-permission android:name="android.permission.INTERNET" />
	<uses-permission android:name="android.permission.CALL_PHONE" />
	<uses-permission android:name="android.permission.SEND_SMS" />
	<uses-permission android:name="android.permission.CAMERA" />
	<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
	<uses-permission android:name="android.permission.READ_PHONE_STATE" />
	<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
	<application android:icon="@drawable/icon" android:label="@string/app_name">
		<activity android:name=".MainActivity" android:label="@string/app_name">
			<intent-filter>
				<action android:name="android.intent.action.MAIN" />
				<category android:name="android.intent.category.LAUNCHER" />
			</intent-filter>
		</activity>
		<activity android:name=".activity.CameraActivity" />
	</application>
	<uses-sdk android:minSdkVersion="6" />

</manifest> 

        有了许可,获取地址信息就很简单了。通过工厂方法获取LocationManager对象,并加入监听。

  

locationManager = (LocationManager) this.context
                    .getSystemService(Context.LOCATION_SERVICE);
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000, 0, this);

 

        接听类,需要实现LocationListener接口。实现接口方法,其中只有一个是获取地址信息的方法onLocationChanged。

public void onLocationChanged(Location location) {
        try {
            if (location != null) {
                JsRunHelper helper = new JsRunHelper();
                helper.appendJs(sucessCallBack + "(\"" + location.getLongitude() + "\", \""
                        + location.getLatitude() + "\");");            }
        } finally {
              locationManager.removeUpdates(this);
        }
    }

    public void onProviderDisabled(String provider) {
    }

    public void onProviderEnabled(String provider) {
    }

    public void onStatusChanged(String provider, int status, Bundle extras) {
    }

    记得在获取完地址信息后,调用removeUpdates方法,移除对于位置信息的监听。

0
0
分享到:
评论

相关推荐

    android根据GPS获取经纬度和海拔

    这是获取位置信息的基础,没有这个权限,应用将无法访问GPS硬件: ```xml &lt;uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /&gt; ``` 然后,我们可以使用Android的LocationManager服务来...

    Android Gps 获取Nmea 数据.rar

    此外,考虑使用`WorkManager`或`JobScheduler`来安排定位任务,以在合适的时间获取位置信息。 6. **存储和分析NMEA数据** 如果需要保存接收到的NMEA数据,可以将它们写入文件,例如创建一个名为“nmea.log”的文件...

    Android代码-获取Gps信息的程序源码.zip

    Android系统通过`LocationManager`服务来获取位置信息。首先,需要在Activity或Service中获取LocationManager的实例: ```java LocationManager locationManager = (LocationManager) getSystemService(LOCATION_...

    Android中GPS定位获取坐标信息

    `ACCESS_FINE_LOCATION`权限允许应用访问精确的GPS位置信息: ```xml &lt;uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /&gt; ``` 接下来,我们创建一个`LocationManager`实例,它是Android...

    Android 获取Gps信息的程序源码

    LocationManager是一个系统服务,用于管理和获取位置信息。通过Context的getSystemService方法可以获取到它: ```java LocationManager locationManager = (LocationManager) getSystemService(LOCATION_SERVICE); ...

    android通过GPS获取经纬度和具体城市

    在Android系统中,获取设备的地理位置信息是移动应用开发中的常见需求,特别是在提供导航、位置服务或基于位置的社交功能时。本篇文章将详细介绍如何利用GPS(全球定位系统)技术在Android平台上获取设备的经纬度...

    Android读取GPS数据demo

    首先,Android系统提供了LocationManager服务来获取位置信息,包括GPS数据。开发者需要在AndroidManifest.xml文件中添加必要的权限,如`&lt;uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /...

    Android获取GPS定位示例程序

    在Android平台上,获取GPS定位是移动应用开发中的基础功能,尤其对于那些依赖地理位置信息的应用,如导航、社交、天气预报等。本示例程序"LocationDemo"是专门为开发者设计的,用于展示如何在Android Studio环境下...

    android获取GPS经纬度,并根据经纬度获取准确地址( 纯原生)

    Location服务是Android系统提供的一种定位机制,它能够获取到设备的位置信息,包括GPS(全球定位系统)、Wi-Fi、移动网络等多种方式。在AndroidManifest.xml文件中,你需要添加以下权限来允许应用访问位置信息: ``...

    AndroidGPS定位,获取经纬度位置

    为了提高用户体验,可以考虑使用`FusedLocationProviderClient`(自Android API 14引入),它是Google Play服务的一部分,能更高效地管理和获取位置信息。 通过以上步骤,你就能实现一个简单的Android应用,点击...

    android gps 获取经纬度

    Toast.makeText(this, "无法获取位置信息", Toast.LENGTH_SHORT).show(); } } } // 检查权限请求的结果 @Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions...

    Android获取位置信息

    在Android系统中,获取位置信息是一项关键功能,它允许应用为用户提供基于位置的服务,如导航、天气预报等。Android提供了多种API和类来获取位置数据,主要通过Android Location API和Google Play服务的Fused ...

    Android GPRS获取位置信息DEMO

    要实现这个功能,开发者首先需要在AndroidManifest.xml文件中添加必要的权限,比如访问网络和获取位置信息的权限: ```xml &lt;uses-permission android:name="android.permission.INTERNET" /&gt; &lt;uses-permission ...

    Android GPS获得定位数据源代码

    总的来说,这个简单的作品展示了如何在Android应用中利用GPS获取地理位置信息,并将这些信息持久化存储到SQLite数据库中。尽管现在的Android开发更倾向于使用Google Play Services的FusedLocationProviderClient,但...

    Android获取位置信息的两种方式

    在Android系统中,获取位置信息是移动应用开发中的常见需求,尤其在户外导航、地图服务等领域至关重要。本文将深入探讨两种主要的获取位置信息的方法:GPS(全球定位系统)和网络定位,着重解决在无网络连接时如何...

    Android GPS定位(获取经纬度)

    `ACCESS_FINE_LOCATION`权限允许应用访问高精度的位置信息,如GPS坐标。 接下来,我们需要创建一个LocationManager的实例,并注册一个LocationListener来监听位置更新。以下是一个简单的示例: ```java ...

    Android 获取Gps信息的程序源码.rar

    首先,Android中的位置服务主要通过LocationManager类来管理,它提供了获取GPS以及其他位置提供者(如网络定位)的位置信息接口。要使用LocationManager,你需要在AndroidManifest.xml文件中添加相应的权限: ```...

    AndroidGPS定位源码

    在Android平台上,GPS(全球定位系统)定位是开发者常用的功能之一,用于获取设备的精确位置信息。本资源提供了Android GPS定位的实例源码,对于学习和理解如何在Android应用中集成GPS定位至关重要。通过分析这些...

    android gps定位获取经纬度

    在AndroidManifest.xml文件中,必须声明使用GPS的权限,这是获取位置信息的前提。添加以下代码: ```xml &lt;uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /&gt; ``` `ACCESS_FINE_LOCATION`...

    android-GPS位置模拟精简代码自创可用

    在Android中,我们可以通过`LocationManager`服务来获取和设置位置信息。模拟GPS位置主要是为了在开发和测试阶段避免实际移动设备到特定地点。 2. **Android权限** 在AndroidManifest.xml中,你需要添加`ACCESS_...

Global site tag (gtag.js) - Google Analytics