- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
根据这篇文章(UPD: 链接已删除,因为它现在会导致一些废话),在请求位置更新时设置 minTime 将导致提供商将自己设置为TEMPORARILY_UNAVAILABLE minTime 毫秒以节省电池电量。在此期间不活动期间,GPS 提供商将自行关闭并且 GPS 图标将消失。
在我的代码中,我将 minTime 设置为大约 30 秒,但提供商每五分钟才会变为 TEMPORARILY_UNAVAILABLE 一次。当它这样做时,它最多只会保持 TEMPORARILY_UNAVAILABLE 十秒钟,然后再重新打开。我知道这一点,因为 GPS 图标只消失了十秒钟就再次出现。
我知道 minTime 设置只是 Android 位置提供程序的粗略指南……但我很确定 5 分钟与 30 秒完全不同。有谁知道这里发生了什么? minTime 和 requestLocationUpdates 实际上是如何工作的?
位置管理器设置:
locManager = (LocationManager) getSystemService(LOCATION_SERVICE);
locManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,30000L, 0, locListener);
loc监听器:
public void onLocationChanged(Location loc) {
//Keep track of best location
//Having a location > no location
if (bestLocation == null)
bestLocation = loc;
//More accuracy > Less accuracy
else if (loc.getAccuracy() <= bestLocation.getAccuracy())
bestLocation = loc;
Log.d(TAG, "Location Updated";
}
public void onStatusChanged(String provider, int status, Bundle extras) {
Log.d(TAG, "New status: " + status);
if (status== LocationProvider.TEMPORARILY_UNAVAILABLE)
//Do stuff since the provider is temporarily off
}
在真实 Android 设备(HTC Incredible 2.2)上的调试输出:
Location Updated
Location Updated
New status: 2
Location Updated
Location Updated
Location Updated
New status: 2
... (five minutes later)
New status: 1
最佳答案
来自API :
“后台服务应谨慎设置足够高的 minTime,以便设备不会因始终保持 GPS 或 radio 而消耗过多电量。特别是,不建议低于 60000 毫秒的值.”(重点是我的)
“此字段仅用作节省电量的提示,位置更新之间的实际时间可能大于或小于此值。” (重点是我的)。
如果您需要立即知道位置,请使用 getLastKnownLocation(String)
关于Android Locationprovider 时间过长导致暂时不可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5213815/
这可能是一个简单/愚蠢的问题。我找不到任何有关它的文档。我想在 Android 中创建自己的 LocationProvider。 LocationProvider是一个抽象类,没有构造函数。 impo
我将代码编写为我的 Angular Controller ,如下所示: .config(function($routeProvider, $locationProvider, $httpProvide
我正在尝试获取我正在处理的应用程序的位置。但是,当它尝试选择最佳提供商时,我收到一个错误然后强制关闭。对此问题的任何帮助将不胜感激……我是否需要在 onCreate 中声明一些内容才能使其正常工作?这
这是我的代码: angular.module('foo', []).controller( 'Main', [ '$scope', '$location', function(
根据这篇文章(UPD: 链接已删除,因为它现在会导致一些废话),在请求位置更新时设置 minTime 将导致提供商将自己设置为TEMPORARILY_UNAVAILABLE minTime 毫秒以节省
我想创建自己的 LocationProvider 实现,似乎有一种方法可以添加“模拟”提供者,但这并不是我想要的。 http://developer.android.com/reference/and
获取 $locationProvider 的正确方法是什么?来自服务/ Controller 的配置参数?使用 function ( $locationProvider ) 进行简单的依赖注入(inj
我编写了一个非常简单的应用程序,它向 LocationProvider 询问位置并将其打印到 System.out。这在模拟器中效果很好。但是,当我在我的黑莓设备上运行它时,对 getLocation
嘿,我正在尝试在基于此博客的 Angular 项目中启用 html5,但使用 ui-router https://scotch.io/tutorials/pretty-urls-in-angularj
通过 $locationProvider.html5Mode(true) 在 AngularJS 中启用 html5Mode 时,当您登陆网站更深的页面时,导航似乎会倾斜。 例如: http://ww
我正在尝试配置我的 Angular 但是我不断收到标题错误告诉我“.when 不是一个函数。下面是我的代码。 angular.module('app', ['ngResource', 'ngRoute
我正试图摆脱出现在我的 ui-router URL 中的主题标签。 ( http://localhost:3000/email 不起作用,但 http://localhost:3000/#email
我的网址是: http://192.168.110.4/produtos/3-fazer-a-limpeza-da-casa-juntos-une-os-casais 我的基地是:/ 当正常链接访问正
为了从地址 url 中消除 # ,我尝试在路由器中使用 $location 提供程序。在第一次加载时,将 root 更改为另一个 url 是可行的。但是当我重新加载新页面时,我得到 Cannot GE
我想将 url 显示为“www.test.com/!#”,因为我正在使用 $locationProvider.hashPrefix("!") ;但它将 url 显示为“www.test.com/#!”
一直在处理我遇到的一些 $locationProvider 问题。我有一个简单的单页页面。但我收到以下错误: TypeError: Cannot read property 'replace
我使用 $locationProvider 从此 url 中删除 hashtag # http://localhost/angular-phonecat/app/#/phones 使用以下代码: ph
在我的 Java ME 应用程序中,LocationProvider.getInstance(null) 始终在模拟器中返回 null。 应用程序处于早期状态,所以我没有在真机上尝试过。 我相信,我阅
在 AngularJS 中,尝试使用 $locationProvider 解析查询字符串时出现错误。 AngularJS 文档说 locationProvider 尚未从核心中移出,所以我想知道为什么
据我了解,$locationProvider.html5Mode(true); 不会从您的网址中删除哈希值吗?虽然它对我来说只有刷新页面时主页似乎没问题。这不是 redirectTo: 应该处理的吗?
我是一名优秀的程序员,十分优秀!