首页 > 其他分享 >Android原生定位

Android原生定位

时间:2024-01-30 16:05:04浏览次数:23  
标签:原生 定位 ActivityCompat String void location provider Android public

使用LocationManager和LocationListener结合进行简单定位功能

1.创建LocationManager

LocationManager locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);

2.创建LocationListener

private final LocationListener locationListener = new LocationListener() {

        public void onLocationChanged(Location location) {
            if (location != null) {
                //经度
                double longitude = location.getLongitude();
                //纬度
                double latitude = location.getLatitude();
            } else {
                if (locationIndex >= 0) {
                    final String errorMessage = "定位失败,请重新定位";
                }
            }
        }

        public void onProviderDisabled(String provider) {
        }

        public void onProviderEnabled(String provider) {
        }

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

3.绑定

List<String> providers = locationManager.getProviders(true);
        for (String provider : providers) { 
            if (ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_FINE_LOCATION) != PackageManager.PERMISSION_GRANTED && ActivityCompat.checkSelfPermission(this, Manifest.permission.ACCESS_COARSE_LOCATION) != PackageManager.PERMISSION_GRANTED) {
                // TODO: Consider calling
                //    ActivityCompat#requestPermissions
                // here to request the missing permissions, and then overriding
                //   public void onRequestPermissionsResult(int requestCode, String[] permissions,
                //                                          int[] grantResults)
                // to handle the case where the user grants the permission. See the documentation
                // for ActivityCompat#requestPermissions for more details.
             return;
            }
            locationManager.requestLocationUpdates(provider, 0, 0, locationListener);
        }



标签:原生,定位,ActivityCompat,String,void,location,provider,Android,public
From: https://blog.51cto.com/u_16550529/9488795

相关文章

  • 【UI自动化基础】元素定位
    元素定位元素定位的定义元素定位是指查找元素HTML代码的过程元素HTML代码指的是从开始标签到结束标签之间的所有代码find_element定位一个元素find_elements定位多个元素元素定位方法by_id当元素具有id属性时,可以通过by_id定位元素方法:driver.find_element_by_id('id......
  • 【APP自动化测试】APP元素定位工具
    appium做移动端自动化测试,定位元素工具uiautomatorviewerAppiumInspectorweditor前置条件:已连接真机或手机模拟器,adbdevices有显示连接的手机列表。uiautomatorvieweruiautomatorviewer是android-sdk自带的一个元素定位工具,目录D:\xxx\android-sdk-windows\tools。......
  • AndroidStudio-创建Kotlin匿名内部类时自动补全
    AndroidStudio-创建Kotlin匿名内部类时自动补全用Kotlin写代码,当要创建匿名类实例时,总是要自己手敲出来,不像Java一样,输入new就会有代码提示出来,去网上搜索,大部分都是AndroidStudio按住ctrl+空格键,或者ctrl+alt+空格会出现代码提示,我试了,嗯...好像啥反应也没有,然后发现每次按,输入......
  • Xamarin.Android中使用TaskCompletionSource创建阻塞式的对话框
    代码如下usingAndroid.OS;usingAndroid.Views;usingAndroid.Util;usingActivity=Android.App.Activity;namespaceKangHuiXinCai_FangDai_AndroidScanner{publicclassDialog_SettingPassword:Dialog{TaskCompletionSource<DialogResu......
  • Android Studio如何解决Connect time out问题
    Hello各位同学们好,我是咕噜铁蛋,使用AndroidStudio是我们日常开发工作中不可缺少的工具。然而,在使用AndroidStudio进行开发时,有些时候会遇到连接超时(Connecttimeout)的问题,这会影响我们的开发进程,甚至可能导致应用无法正常运行。那么,如何解决这个问题呢?今天就由铁蛋来为大家介绍......
  • 鸿蒙首批原生应用!顶象无感验证已适配鸿蒙系统
    顶象无感验证已成功适配鸿蒙系统,成为首批鸿蒙原生应用,助力鸿蒙生态的快速发展。作为全场景分布式操作系统,鸿蒙系统旨在打破不同设备之间的界限,实现极速发现、极速连接、硬件互助、资源共享。迄今生态设备数已突破8亿台,更有涵盖便捷生活、出行文旅、金融理财、社交资讯、生产力工......
  • BDS/GNSS/GPS卫星定位SOC芯片AT6558R
    产品简介AT6558R是一款高性能BDS/GNSS多模卫星导航接收机SOC单芯片,片上集成射频前端,数字基带处理器,32位的RISCCPU,电源管理功能。芯片支持多种卫星导航系统,包括中国的北斗卫星导航系统BDS,美国的GPS,俄罗斯的GLONASS,日本QZSS系统,并实现多系统联合定位。芯片应用车载......
  • 喜报|「云原生数据库 PolarDB」、「阿里云瑶池一站式数据管理平台」揽获“2023 技术卓
    日前,国内知名IT垂直媒体&技术社区IT168公布2023年“技术卓越奖”评选结果,经由行业CIO/CTO大咖、技术专家及IT媒体三方的联合严格评审,阿里云瑶池数据库揽获两项大奖:云原生数据库PolarDB荣获“2023年度技术卓越奖”,阿里云瑶池一站式数据管理平台荣获“2023年度创新解......
  • 云原生架构中 GitOps 的最佳实践
    GitOps是一种基于Git的离散交付和部署的操作框架模型,它使开发者使用Git,而不是传统的连续交付管道,来进行集群管理和应用程序部署。在这篇文章中,我们将详细探讨GitOps的最佳实践。使用声明性API构建你的系统在GitOps中,你需要描述系统应有的状态而不是描述达到这个状态须......
  • Android系统开发之TimeZoneDetectorService浅析--下
    TimeZoneDetectorService类图可以看出TimeZoneDetectorService类,其具体实现是由TimeZoneDetectorStrategy类完成的。在TimeZoneDetectorService类中,三种更新时区的接口分别为:suggestGeolocationTimeZone()//更新时区主要有三种方式,这是Geolocation方式+booleansuggestManualT......