Android中如何获取经纬度

前几天写代码遇到一个地方需要获取经纬度,不需要百度地图,因为只要拿到当前位置的经纬度就行了,安卓api有内置方法,这里写一下,下面的代码大家可以拿去用,这里简单到,只用复制到自己的代码里,然后调用showLocation()方法就能得到经纬度了,前提是:在这之前jingwd()方法被调用过了,比如放在onCreate()里,因为这里面 是具体的实现,下面是代码:

    private LocationManager locationManager;
    private String locationProvider;

    // 经纬度获取
    private void jingwd() {
        // 获取地理位置管理器
        locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
        // 获取所有可用的位置提供器
        List<String> providers = locationManager.getProviders(true);
        if (providers.contains(LocationManager.GPS_PROVIDER)) {
            // 如果是GPS
            locationProvider = LocationManager.GPS_PROVIDER;
        } else if (providers.contains(LocationManager.NETWORK_PROVIDER)) {
            // 如果是Network
            locationProvider = LocationManager.NETWORK_PROVIDER;
        } else {
            Toast.makeText(this, "没有可用的位置提供器", Toast.LENGTH_SHORT).show();
            return;
        }
        // 获取Location
        Location location = locationManager
                .getLastKnownLocation(locationProvider);
        if (location != null) {
            // 不为空,显示地理位置经纬度
            showLocation(location);
        }
        // 监视地理位置变化
        locationManager.requestLocationUpdates(locationProvider, 3000, 1,
                locationListener);
    }

    /**
     * 显示地理位置经度和纬度信息
     * 
     * @param location
     */
    private void showLocation(Location location) {
        jingD = location.getLongitude();
        weiD = location.getLatitude();
    }

    /**
     * LocationListern监听器 参数:地理位置提供器、监听位置变化的时间间隔、位置变化的距离间隔、LocationListener监听器
     */

    LocationListener locationListener = new LocationListener() {

        @Override
        public void onStatusChanged(String provider, int status, Bundle arg2) {

        }

        @Override
        public void onProviderEnabled(String provider) {

        }

        @Override
        public void onProviderDisabled(String provider) {

        }

        @Override
        public void onLocationChanged(Location location) {
            // 如果位置发生变化,重新显示
            showLocation(location);

        }
    };

    @Override
    protected void onDestroy() {
        super.onDestroy();
        if (locationManager != null) {
            // 移除监听器
            locationManager.removeUpdates(locationListener);
        }
    }
时间: 2024-10-10 10:32:34

Android中如何获取经纬度的相关文章

Android 根据城市获取经纬度 适配Android 7.0 、Android 8.0

今天在开发的过程中遇到了一个很奇葩的问题,就是之前已经写好的代码在Android 7.0 的系统中运行是正常的,但是在Android8.0 的系统中运行就出现了问题.在网上也找了很多资料,经过自己的不断折腾,终于找到了问题.废话不 多说了,直接上代码:public void getLatAndLng(String cityName) {Geocoder geocoder = new Geocoder(this,Locale.CHINA);try {List<Address> addressLi

Android中StatFs获取系统/sdcard存储(剩余空间)大小

package com.orgcent.util; import java.io.File; import android.os.Environment; import android.os.StatFs; public class MemoryStatus { static final int ERROR = -1; /** * 外部存储是否可用 * @return */ static public boolean externalMemoryAvailable() { return andr

Android中WebView获取网页中标题 ,内容, 图片的方法

如题,在Android中WebView获取网页中标题 ,内容, 图片的方法 首先是获取标题,在new WebChromeClient(){}中重写onReceivedTitle()方法 @Override public void onReceivedTitle(WebView view, String title) { super.onReceivedTitle(view, title); // loge.e("__页面标题__"+title); } 获取内容,是参考的这边的 http

Android逆向之旅---Android中如何获取在非Root设备中获取应用隐私数据

一.前言 今天在开发的过程中遇到一个问题,就是关于AndroidManifest.xml中的allowBackup属性,也算是自己之前对这个属性的不了解,加上IDE的自动生成代码,没太注意这个属性,但是没想到这个属性会直接导致隐私数据的丢失.下面就来看一下这个属性的影响到底有多大.他的作用是什么? 二.Android中的allowBackup属性 1.allowBackup安全风险描述Android API Level 8及其以上Android系统提供了为应用程序数据的备份和恢复功能,此功能的开

Android中如何获取应用版本号

应用场景: 1.在界面中显示应用程序的版本号:2.用户启动该应用,后台判断该应用是否是最新版本.上述情景都需要在程序中自动获取到应用的版本号. 思路简介:在Android中,应用程序的版本号是在AndroidManifest.xml文件中进行配置的,而PackageInfo类则封装了从该配置文件中获取的所有信息,描述了包内容的整体信息,因此,可以使用PackageInfo对象的versionName属性获取应用的版本号.要怎么获取PackageInfo对象呢?可以通过PackageManager

android中Camera获取系统支持的情景模式

在我们调相机时, 经常有测试提出相机的模型情景模式不支持.下面我们来分析下怎样看android系统相机的情景模式.我们以MTK的实现为例. 在底层mediatek/proprietary/custom/mt8127/hal/sendepfeature/ov2680_raw/config.ftbl.ov2680_mipi_raw.h 这个文件定义的我们的相机支持哪些情景模式 #if 1     //  Scene Mode     FTABLE_CONFIG_AS_TYPE_OF_DEFAULT_

Android中通过当前经纬度获得城市

1.取得用户当前位置的经度,纬度. 2.根据经纬度转换成城市名称. 取得用户当前位置的经度,纬度 今天弄了一个多小时,写了一个GPS获取地理位置代码的小例子,包括参考了网上的一些代码,并且对代码进行了一些修改,希望对大家的帮助.具体代码如下:  要实用Adnroid平台的GPS设备,首先需要添加上权限,所以需要添加如下权限: <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"><

android 中如何获取IMEI号

1)在Telephony Framework内部,可以直接使用GSMPhone或GeminiPhone提供的接口. KK之前的版本: IMEI(International Mobile Equipment Identity)是国际移动设备身份码,在单卡工程中一个手机对应一个IMEI号,双卡工程中一张卡对应一个IMEI号. 下面是获得IMEI号的接口和demo code API: GSMPhone.java     中getDeviceId() GeminiPhone.java  中getDevi

ArcGis for Android中如何获取自定义图层中的图片并旋转

============问题描述============ RT,在GraphicsLayer自定义图层中,有一个图片,现在可以获取到手机的旋转角度,然后根据角度去旋转那个图片.现在只能remove掉GraphicsLayer后旋转图片重新添加到map中,这样的话会非常不连贯,达不到百度地图的旋转效果,请教大神们如何解决? ============解决方案1============ BitmapDrawable bd = new BitmapDrawable(context.getResource