首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Android利用自带的位置服务,获取当前位置信息

    笔者项目里,需要获取用户的当前位置信息,因为没有接地图SDK,打算用原生自带的位置服务去做。操作了一下,踩了几个大坑,总算是幸不辱命。这里做个记录,顺便分享给大家。...Thread(Runnable { val serviceString = Context.LOCATION_SERVICE// 获取的是位置服务...: String {//一定要异步,否则获取不到 //用来接收位置的详细信息 var result: List?...爬坑指南: 1.initLocation()这个方法,可以看到笔者是放在线程里跑的,一定要这样做,否则拿到经纬度之后,无法通过经纬度获取到位置信息。笔者在这里纠结了许久。...2.在通过经纬度获取位置信息时,获取到的result是个集合,他对你的当前位置做了不同维度的描述,越后面的,描述得越精确。

    3.3K00

    Android 6.0 扫描不到 Ble 设备需开启位置权限

    之前做 Ble 开发都是在 Android 6.0 系统以下的版本中进行测试]的,今天使用 Android 6.0 的设备测试的时候,发现扫描不到周围的 Ble 设备。...后来发现 6.0 需要在应用运行过程中请求位置权限,并且还要打开位置。...动态申请位置权限 ACCESS_COARSE_LOCATION 在 AndroidManifest.xml 文件中加入 android:name="android.permission.ACCESS_COARSE_LOCATION...做完上面你以为就 OK 了,但是可能你会发现,并没有什么卵用,依然不能搜索到周围的 Ble 设备,原因是可能的你的位置服务(定位 GPS)没有打开。...选择的结果获取: @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) {

    1.8K110

    容器开启特权模式后无法通过cadvisor获取GPU metrics指标

    问题描述 开启特权模式(--privileged)的容器,在使用nvidia GPU时,无法通过cAdvisor获取GPU相关的metrics信息。...本篇为最后一篇,在看本篇之前建议先查看前两篇: 容器开启特权模式后无法通过cadvisor获取GPU metrics指标 容器开启特权模式后无法通过cadvisor获取GPU metrics指标 回顾...首先通过两种图回顾一下容器使用NVIDIA GPU的原理,如下 Kubelet & Device Plugin Nvidia-container-runtime 图片 解决方案 总结一下cAdvisor无法提供特权模式容器...GPU指标的根本原因: cAdvisor作为一个偏底层的通用指标能力的提供者,为了与其他组件解耦,其从最底层device cgroup来获取容器绑定的GPU信息; containerd在创建容器时判断是否开启特权模式...虽然两种方式都可以实现容器内使用GPU设备的目的,但实现方式都不够优雅,根本原因还是缺少一个将第三方设备资源通知给container runtime的规范,社区也意识到了这个问题,提出了CDI规范,有关进展详见这里

    71700

    容器开启特权模式后无法通过cadvisor获取GPU metrics指标

    问题描述 开启特权模式(--privileged)的容器,在使用nvidia GPU时,无法通过cAdvisor获取GPU相关的metrics信息。...接上一篇,在上一篇中我们已经清楚cAdvisor是如何获取容器所使用的GPU卡信息的,也清楚了为什么在容器开启特权模式时cAdvisor无法获取其所使用的的GPU卡信息。...同时在开启KubeletPodResource特性开关后,Kubulet还可以通过rpc的形式对外提供pod-resources信息,详情可以参考https://kubernetes.io/zh/docs...Allow: true, Access: rwm, }, } return nil } 完整流程 至此我们清楚了容器在使用GPU时的整个流程,从容器创建到真正挂载GPU设备以及开启特权模式后无法获取...图片 好了,有关cAdvisor无法提供特权模式容器的GPU指标的原理及原因至此已经都搞清楚了,下一篇我们讲介绍解决方案,敬请期待~

    43400

    Android 百度地图SDK 实现获取周边位置POI

    /details/49893723 绪论 好久没写博客了,最近比较忙,闲下来写写博客,把小编最近用过的东西跟大家分享一下,记得上次写过一篇百度地图实现定位功能的博客,今天给大家分享一下定位之后获取周边地理位置的实现...public void run() { searchNeayBy(); } }).start(); } 获取周边地理位置...最后看一下怎么获取周边的地理位置,这里需要用到SDK中的一个类PoiNearbySearchOption,我们可以看一下类参考: PoiNearbySearchOption keyword(java.lang.String...然后我们实现OnGetPoiSearchResultListener这个接口,获取周边地理位置结果。...msg.what = 0; handler.sendMessage(msg); } } } 获取完数据之后更新适配器显示周边位置就

    1.8K20

    容器开启特权模式后无法通过cadvisor获取GPU metrics指标

    问题描述 开启特权模式(--privileged)的容器,在使用nvidia GPU时,无法通过cAdvisor获取GPU相关的metrics信息。...寻踪觅源 问题的最终表现是通过cAdvisor无法获取开启特权模式容器的gpu相关数据,即 curl localhost:4194/api/v1.3/docker/{containerID} 返回的结果中不包含任何...只对在容器启动时显示设置了--device /dev/nvidia0:/dev/nvidia0信息的容器暴露指标,未显示指定的不暴露(对应容器启动时设置了--privileged参数) 通过介绍可以得出如下结论:无法获取开启特权模式容器的...到这里可以猜一下开启特权模式的容器无法返回GPU指标的原因:开启特权模式影响了devices.list文件内容,变成了*:*。...GPU卡信息的,也清楚了为什么在容器开启特权模式时cAdvisor无法获取其所使用的的GPU卡信息。

    1K00

    Android开启热点后作为路由器,获取AP端IP地址

    最近在做类似面对面通信,需要一台手机作为AP端开启热点,另一台手机作为STA端连接热点,然后AP端告诉STA端它的IP地址,进行socket通信。...手机在联网时,就会被分配一个IP地址,它在开启热点时,它本身作为一个“路由器”也会生成一个IP地址,我们需要的就是后面这个IP地址,目前论坛上关于手机IP地址的帖子都是获取手机被分配的IP地址。...可以看到它也是先获取然后配置,参考这个,我写了获取热点IP地址的函数。...untetherStatus); } } } return address; } 下面getIpAddress()就是我写的开启热点以后获取...上开启热点时分配IP地址(ipv4)的代码:/frameworks/base/services/core/java/com/android/server/connectivity/tethering/TetherInterfaceStateMachine.java

    3.1K10

    最简单也最难——怎样获取到Android控件的高度「建议收藏」

    问题 怎样获取一个控件的长和高。相信非常多朋友第一眼看见这个问题都会认为非常easy,直接在onCreate里面调用getWidth、getMeasuredWidth不就能够获得了吗,可是。...事实上是并没有简单的,不信的话,你能够去试一下,在onCreate里面,你是无法获得长宽值的,始终为0。 原因 这是为什么呢,事实上熟悉view绘制流程的朋友应该一眼就看出来了。在onCreate中。...我们的控件事实上还并没有画好,换句话说,等onCreate方法运行完了,我们定义的控件才会被度量(measure),所以我们在onCreate方法里面通过view.getHeight()获取控件的高度或者宽度肯定是...我们须要注冊一个ViewTreeObserver的监听回调,这个监听回调,就是专门监听画图的,既然是监听画图,那么我们自然能够获取測量值了,同一时候。我们在每次监听前remove前一次的监听。...如今看来,看似简单问题也不是那么简单吧。 以上。

    84610

    Android获取经纬度

    获取经纬度一般有两种方法 通过集成第三方(百度、高德)来获取 通过Android自带的API来获取 那么今天我就来写一下第二种通过Android自带的API来获取经纬度的方法: 首先经纬度需要用户授权...-- 允许程序访问CellID或WiFi热点来获取粗略的位置 --> android:name="android.permission.ACCESS_COARSE_LOCATION...不过获取单个点位的时候我也建议使用这种方法,因为他可以避免Location为空的问题。...使用起来也很简单,只要我们获取到点位之后就停止继续获取点位就可以了 停止方法为 if (locationManager !...} 好了,Android获取经纬度就写到这里,以后如果仅仅是获取经纬度的话可以不用集成第三方的东西了,希望对大家有所帮助。

    3.1K30

    Android BLE 蓝牙开发,连接蓝牙设备进行通讯

    根本不可能长时间开启。而在蓝牙4.0版本之后,蓝牙的通讯,耗电,抗干扰都得到了显著提升。同时蓝牙成本也得到了降低。...Phone 通过 Gatt 服务功能获取 Device 中的消息,并发送消息给 Device 设备。 整个过程就是这样的。下面我也将按照这个通讯过程进行介绍。...同时,还需要位置权限。因为蓝牙 LE 信标通常与位置相关联。如果不开启 ACCESS_FINE_LOCATION 权限。那么我们将会无法发现蓝牙设备。...也就是执行蓝牙扫描 API 无法得到任何结果(PS::Logcat 中的错误日志会告诉你,要开启位置权限,否则无法扫描发现蓝牙设备)。 <!...它检查的是设备是否有蓝牙功能,而不是蓝牙是否启动,下面会介绍如何判断蓝牙是否启动 3.3 开启蓝牙 当我们设备也支持蓝牙了,权限也配置了。下一步就是获取 BluetoothAdapter 对象了。

    5.6K20

    appium使用相对坐标定位元素

    最近在用appium做自动化时发现,有一些元素无法通过uiautomatorviewer进行定位,这样就只能通过相对坐标来进行定位了。但是,问题又来了:如何获取元素的坐标呢?...在网上找了半天也没找到相应的解决方法,后来在一篇文章中看到打开手机指针位置来确定元素所在坐标。...具体方法:设置--开发者选项--指针位置 开启指针位置之后,点击手机屏幕就会显示该位置的具体坐标,这样就获取到了元素的绝对坐标 然后通过webdriver的tap()函数点击该坐标就可以了。...我们获取到的是绝对坐标,如果换一个屏幕分辨率不同的手机那这个坐标自然会发生变化,要实现不同手机均能实现点击同一控件自然要用到相对坐标了,具体方法如下: 1.获取当前空间的绝对坐标(x1,y1),开启指针位置后...,通过点击控件位置获取坐标; 2.获取当前手机的屏幕大小(x2,y2),通过driver.get_window_size()['width'],dirver.get_window_size()['height

    2.8K30

    Android6.0蓝牙开发中获取附近低功耗蓝牙设备结果权限问题分析

    ,允许权限之后发现,虽然不再报异常,但依旧刷新不出来结果(如果你的位置信息功能是开启的则就另说了,具体原因看第三条分析) iii>,你目前只是有了使用设备的位置信息的权限,但是你还没有打开位置信息,所以就算有了权限也没办法使用...打开方式一:进入设置打开位置信息 打开方式二:手机下拉导航栏的快捷设置中快捷设置 ? 打开之后是不是发现应用可以获取扫描结果了呢?哈哈,博主已测过,没有问题。...解决方案: 综上分析,可以确定完美解决方案: 要想获取扫描结果,一是保证位置信息已经打开,二是保证应用已经动态申请了所需要的权限 第一步,保证位置信息打开: /** *判断位置信息是否开启...,若未开启则开启: //开启位置服务,支持获取ble蓝牙扫描结果 if (Build.VERSION.SDK_INT >= 23 && !...并且在该activity中重写onActivityResult方法,在位置开启成功后去申请权限,当然除了在代码中申请在清单配置文件中也是需要写的,如果未开启位置信息则进行其他处理 @Override

    1.7K100

    Appium+python自动化(二十五)- 那些让人抓耳挠腮、揪头发和掉头发的事 - 获取控件ID(超详解)

    简介   在前边的第二十二篇文章里,已经分享了通过获取控件的坐标点来获取点击事件的所需要的点击位置,那么还有没有其他方法来获取控件点击事件所需要的点击位置呢?答案是:Yes!...未开启夜神模拟器的HierarchyViewer,如下图: ? 开启夜神模拟器后的HierarchyViewer,如下图: ?...注:对于列表、或者弹出框则无法直接通过点击ID操作成功,需要计算ID的坐标。 ?...说明View Server处于开启状态 ---- 有时碰到模拟器或开发发版手机, view Hierarchy 还是无法连接,可以先使用以上方法检查一下View Server状态。...如果没有开启,则使用以下命令打开View Server: ---- adb shell service call window 1 i32 4939 也可以使用使用以下命令关闭View Server:

    2.1K31

    Android Q 适配 之 存储新特性

    Android Q 仍然使用 READ_EXTERNAL_STORAGE 和 WRITE_EXTERNAL_STORAGE 作为面向用户的存储相关运行时权限,但现在即使获取了这些权限,访问外部存储也受到了限制...APP 开启 Filtered View 后,Scoped Storage 新特性对 APP 生效。...Android Q 除了划分外部存储和定义 Filtered View,还在查询、读写文件的一些细节上做了改进或限制,例如图片文件中的地理位置信息将不再默认提供、查询 MediaProvider 获得的...问题分析:在 Android Q 上,由于 App-specific 目录中的文件是私有受保护的,其他 APP 无法通过文件路径访问。...2.2.6 无法访问图片文件中的地理位置数据 问题原因:直接从图片文件输入流中解析地理位置数据。 问题分析:由于图片的地理位置信息涉及用户隐私,Android Q 上默认不向 APP 提供该数据。

    1K30
    领券