从JUnit单元测试中设置android.location.Location对象的参数
我正在尝试为接收android.location.location对象的函数进行单元测试.但是我之所以阻止,是因为我没有可能为位置对象设置参数. @Test public void testLocation() { Location location = new Location("gps"); location.setAccuracy(25F); location.setTime(5123L); System.out.println("Accuracy: " + location.getAccuracy()); System.out.println("Time: " + location.getTime()); } 输出: Accuracy: 0.0 Time: 0 Process finished with exit code 0 位置精度和时间为零,但值是在上面代码中设置的. 这不是仪器测试,我正在以JVM(测试工件:单
0 2023-11-07
编程技术问答社区
内容视图中的按钮可以放大到MapBox地图上的当前位置?
so ....在我的协调员中 - 符合Mapbox委托协议,我可以做: mapView.setCenter(mapView.userLocation!.coordinate, zoomLevel: 13, animated: true) ,此功能在协调器中或在MapView类中调用时工作正常.唯一的问题是我不知道如何将此MapView实例传递(特别是回到ContentView,我想拥有一个执行相同功能的按钮).我也有一个位置管理器结构,但我不知道这里有多少用途. MapView实例的传递是完成我想做的最简单方法吗? 预先感谢您! 解决方案 这是解决方案的演示(基于MapKit,但对想法并不重要).用Xcode 12. 测试 struct DemoActionToMapView: View { @State private var centerToUser: () -> () = {} var body: some View {
0 2023-10-10
编程技术问答社区
SWIFT-LocationManager 循环使用多次?
我有一个位置管理器功能,可以抓住当前位置并发布城市和州的名称.我有一个打印声明,因此如果一切正常工作,我可以在控制台中检查一下.但是,它将城市位置打印3次.这实际上在我的实际应用中引起了问题,但这超出了这个问题的目的. 我的功能如下: var usersLocation: String! var locationManager: CLLocationManager! func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) { let userLocation: CLLocation = locations[0] CLGeocoder().reverseGeocodeLocation(userLocation) { (placemarks, error) -> Void in if error != nil
2 2023-10-07
编程技术问答社区
获取当前坐标
我编写了一个应该在短信中发送坐标的应用程序,但是我一直在努力了解如何获得坐标. 目前我正在使用此 LocationManager lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE); Location location = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER); longitude = location.getLongitude(); latitude = location.getLatitude(); ,然后我将长长的时间和纬度传递到文本中,但这只给了我我猜的最后一个知道的位置吗? 谁能告诉我如何获得当前位置? 问候 /弗雷德 解决方案 您需要创建一个位置Listener,然后将其传递给LocationManager:locationManager.requestLocationUpda
8 2023-09-05
编程技术问答社区
某些设备上的GPS位置更新出现'睡眠'问题
我有一个使用GPS进行常规更新的应用程序.过去,当设备入睡时(屏幕关闭,屏幕超时等)时,位置更新不断通过.这是在运行2.2的HTC欲望上. 我出于各种原因需要这种行为. 但是,现在正在对HTC Desire S运行4.0.4进行测试,似乎发生的是输入睡眠模式后的更新继续(1/sec)约5秒钟,然后停止.但是,完全相同的代码在Google Nexus 7上运行4.4.2,并且更新继续进行. 活动生命周期似乎正在做所有正确的事情(在入睡时,请在退出睡眠时进行折扣),但是在欲望下,位置更新停止. 毫无疑问,将它们关闭更有效,但我需要它们.行为似乎依赖于OS和/或设备.我该如何实现? 编辑:实际上,我发现位置更新确实不断到达,远低于要求的频率. 解决方案 实际上最简单的方法似乎是部分尾锁. 其他解决方案 首先,只有OS,ONSTOP()和ONDESTROY()的概率为100%,而OS则不能由OS调用.您应该在Onpause()中取消注册,此外,设计是
28 2023-09-04
编程技术问答社区
如何获得在Android中以编程方式使用位置的应用程序列表?
我正在在Android OS上开发一个应用. 我需要一种返回依赖位置服务/GPS 的应用列表的方法 解决方案 您可以使用代码(来自 were )获取设备上已安装的应用程序的权限列表.然后搜索有关位置服务(例如Access_Fine_Location)所需的权限. 您的代码将是这样的: PackageManager pm = getPackageManager(); List packages = pm.getInstalledApplications(PackageManager.GET_META_DATA); for (ApplicationInfo applicationInfo : packages) { Log.d("test", "App: " + applicationInfo.name + " Package: " + applicationInfo.packageName); try { PackageInfo packa
4 2023-08-31
编程技术问答社区
如何使用Android定位管理器和监听器
我没有任何运气使用下面的代码从GPS接收任何数据,而且我不确定我在做什么错,似乎我的代码与我在线看到的所有内容都匹配.我想最终将其添加到背景服务中以将其添加到LOG GPS坐标,即使活动不可见或其他应用程序开放,并且速度大于某个定义的量,但是此时我无法甚至获取任何数据以显示.我对Android相对较新,但我不知道自己在做什么错? public class MainActivity extends Activity { TextView textView; MyLocationListener myLocationListener; LocationManager lm; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); this.t
38 2023-08-29
编程技术问答社区
安卓Fusedlocationproviderclient不能使用APN Sim,它可以使用Wifi或普通网络或离线工作。
Android FusedLocationProviderClient不与APN SIM合作(这意味着私有Internet,并非所有人都可以访问),它正在与WiFi或普通Internet合作(这意味着全局移动Internet),我也尝试了位置管理器(Play Service不启用这些设备) . 活动类 import android.Manifest; import android.annotation.SuppressLint; import android.app.Activity; import android.app.Dialog; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.content.pm.PackageManager; import android.locatio
16 2023-06-20
编程技术问答社区
通过网络请求更新位置的问题
我已经创建了一项服务,并获取了有关用户的位置数据,因此我可以向附近的用户展示.我希望此服务除了GPS之外还可以通过网络跟踪:1)可能无法启用GPS. 2)GPS需要大量时间锁定我的测试电话. 当我的服务执行以下行: mNETEnabled = mLocationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER); 我有以下错误: 11-24 14:00:41.693: ERROR/LocationManagerService(51): isProviderEnabled got exception: 11-24 14:00:41.693: ERROR/LocationManagerService(51): java.lang.IllegalArgumentException: provider=network 11-24 14:00:41.693: ERROR/LocationManagerServ
10 2023-05-25
编程技术问答社区
在使用LocationManager时询问权限
我刚刚从Android编程开始,到目前为止,我只是在按钮,文本视图和某些活动中搞砸了一点,但是我想从服务和GPS位置开始.为了练习一点,我正在构建一个简单的应用程序,该应用程序仅显示用户的坐标. 我已经使用一些方法创建了自己的服务类,但是每当我尝试实现以下应用程序时,我的应用都会崩溃: @TargetApi(23) public Location getLocation(){ try{ locationManager = (LocationManager)this.ctx.getSystemService(LOCATION_SERVICE); gpsActivado = locationManager.isProviderEnabled(locationManager.GPS_PROVIDER); }catch(Exception e){ e.printStackTrace(); } if(
22 2023-05-25
编程技术问答社区
应用程序进入后台后,每隔N分钟获取用户位置
我正在尝试实施此帖子. 不幸的是,这些步骤对我来说尚不清楚.我尝试实施这些建议,但是即使在我开始和停止位置服务之后,背景序列也继续减少.这就是我开发的方式: - (void)applicationDidEnterBackground:(UIApplication *)application { UIApplication* app = [UIApplication sharedApplication]; bgTask = [app beginBackgroundTaskWithExpirationHandler:^{ [app endBackgroundTask:bgTask]; bgTask = UIBackgroundTaskInvalid; }]; // Start the long-running task and return immediately. dispatch_async(
4 2023-05-03
编程技术问答社区
安卓谷歌地图V2当前位置纬度经度NullPointerException
有很多类似的问题,但我找不到任何解决方案. SetupMap方法是: private void setUpMap() { BitmapDescriptor iconm = BitmapDescriptorFactory.fromResource(R.drawable.m); BitmapDescriptor iconc = BitmapDescriptorFactory.fromResource(R.drawable.c); // Enable MyLocation Layer of Google Map mMap.setMyLocationEnabled(true); // Get LocationManager object from System Service LOCATION_SERVICE LocationManager locationManager = (LocationManager) getSystemServic
用NSTimer更新IOS位置
我想每秒准确获取一次位置更新.这个间隔对于我想创建的动画很重要,以保持地面的真实速度.我了解[myLocationManager startupdatingLocation]将自动投票" didupdatetolatocations",但每秒并不完全是每秒一次. 有什么方法可以使用NSTIMER每秒准确获取我的位置? 谢谢 -jj 解决方案 - (void)startUpdatingLocation self.locationManager = [CLLocationManager new]; self.locationManager.desiredAccuracy = kCLLocationAccuracyBestForNavigation; self.locationManager.delegate = self; [self.locationManager startUpdatingLocation]; NSTimer
16 2023-04-29
编程技术问答社区
为什么我的NETWORK_PROVIDER突然不再调用onLocationChanged?
我的NETWORK_PROVIDER在我的GPS应用程序中,突然停止了工作.它与我的互联网连接无关,因为我的手机上的所有其他应用程序都可以与互联网一起使用.我尝试了GPS_PROVIDER,它的工作原理非常好,最重要的是,在调用onLocationChanged之后,它可以从互联网检索位置,因此这进一步恢复了互联网的工作. 我的电话: 三星Galaxy S2 Android版本4.0.3 我试图无济于事的事情: 清洁项目 在不同位置进行测试.同样,GPS也有效,但网络提供商不做. 重新启动电话/打开电话 在电话上卸载应用程序,然后重新安装 打开和关闭互联网 我重复一遍,一切都很好,然后突然间它无缘无故地停止工作.无论如何,在此过渡期间,我根本没有更改代码. 尽管如此,这是我的代码的一部分,这里是pastebin http://pastebin.com/itrxgwr7/a >: 这是首先称为,它可以输入if(networkEnabled
10 2023-04-21
编程技术问答社区
需要一个更好的方法来处理当前的位置
通过此处和网络上几乎所有问题/答案,当前位置的最佳方法如下: if ( mLocationManager==null ) mLocationManager = (LocationManager) getSystemService(LOCATION_SERVICE); Location l; for ( String provider : mLocationManager.getAllProviders() ){ mLocationManager.requestLocationUpdates(provider, 1000, 1, locationListener); l = mLocationManager.getLastKnownLocation(provider); if ( isBetterLocation(l, currentBestLocation) ) currentBestLocation = l; } 通常,它在模拟器和设
16 2023-04-21
编程技术问答社区
iphone核心位置:距离过滤器是如何工作的?
属性到底是什么?它确定didUpdateTolocation方法的频率是否被调用? 解决方案 它过滤了短暂的动作.因此,如果CL检测到设备的移动20米,但是将距离过滤器设置为30m,则不会通知您.一旦位置移动到足以超过距离过滤器设置,您将获得一个didupdatetococation回调. 即使设备不移动,GPS位置结果也很常见.您可以静止不动,但是如果位置精度为+/- 10米,即使设备没有移动,报告的位置也可以更换20m.使用远距离移动器使您可以过滤出这种无关的运动. 如果您想了解更多信息,请查看我在我的
22 2023-04-07
编程技术问答社区
在iOS中,当屏幕关闭时,如何继续监控iBeacon?
我正在开发一个iOS应用程序来监视IBEACONS.它在前景和背景都很好.即使屏幕关闭,我也需要它继续监视.现在我的问题是,当我使用肩部按钮关闭屏幕时,NSLOG表明IBEACON信号相应地关闭(rssi = 0,beacon.accuracy = -1.0),10秒钟后,根本没有找到信标,而委托方法位置管理器:didrangebeacons:Ingion:连续称为.屏幕关闭时,该应用似乎正在运行,但iOS关闭了iBeacon范围的位置服务.我尝试设置" locustanager.pauesslocationupdatesautopical = no;"但仍然不起作用.关于这个问题有任何建议吗?预先感谢. 解决方案 看来您正在做范围而不是监视.范围仅在应用程序处于活动状态时起作用 - 在前景或背景中.捕获是,iOS将在您远离它或锁定屏幕后几秒钟自动将应用程序入睡. 您必须记住的是,iOS上的"永久背景状态"确实没有.应用程序在过渡到悬浮状态时在后台运行的某个有限的时间(例如
20 2023-03-15
编程技术问答社区
ios7中的重大分配变化事件--后台服务调用
我在应用程序中使用了重要的位置服务. 如果我的应用程序被系统杀死或用户近距离杀死,则使用重大位置更改服务的事件,我将位置数据发送到iOS 6中的服务器. 在ios6中,我的应用程序也将数据发送到强制关闭后将数据发送到服务器. 但是在iOS 7中,我没有得到重大的位置变更事件. 解决方案 作为iOS 7 SDK不再在NDA下,为了完成,我在此处发布答案.如下所述:监测区域但是,如果用户在App Switcher中杀死了该应用程序,则位置图标 iOS 7不允许在后台进行重大更改.. 有关 如果用户在应用程序切换器中刷新,则操作系统将不会启动 除非用户明确告知这样做,否则该应用程序.所以不,SLC会 不会启动该应用程序,也不会无声通知.唯一的 当时将启动应用程序的事情是用户点击 图标.这里的目的是用户表达了他们的选择 由于任何原因没有该应用程序,所以我们荣幸 那.在这种情况下,您真的无能为力.这 下次用户启动应用程序时,您可以让他们知道其中一些 数据可能丢失了,尽管您真的无法判
12 2023-03-15
编程技术问答社区
LocationManager使用FusedLocationProviderApi?
在研究期间,我意识到Android有不同的方法来获取用户位置.第一个解决方案是通过LocationManager,第二个解决方案是基于GooglePlay服务的FusedLocationProviderapi.在互联网中,我可以单独找到它们的教程和解释.今天的工作中,有人向我展示他正在使用标准的位置管理员,即在on Locationchanged-thanged-hethod地点被"融合"收到.这是否意味着LocationManager还可以从Fused API收集位置信息?我在网中找不到有关该的书面信息. 希望有人可以清楚地表明. 谢谢, 鳍 解决方案 LocationManager使用fusedlocationProviderapi? no,fusedlocation -provider(flp)在内部使用位置manager. 如果您想直接互动提供商本身,则可以使用位置管理器. flp包装了设备中的位置提供商,例如GPS,网络和传感器.并让您
18 2023-03-12
编程技术问答社区
android-获取位置并将数据发送到远程服务器,只有当条件为真时才会如此。
我正在构建一个应用程序,需要将用户的位置发送到远程服务器(在这种情况下推送).目的是接近实时更新地图上的位置,但仅在工作时,否则该应用程序无需跟踪其位置. ,如果他们离开接受工作的活动(并因此放在地图上),并且如果他们完全离开应用程序,我需要位置更新以保持活动状态.一旦到达目的地,我希望停止此背景跟踪. 我一直在看Android的Service组件,但我不确定这是否是我所需要的.更新应无限期地发生,但仅在将用户分配给作业时才发生(更新在接受作业时开始,在到达目的地时结束时.). 绑定的服务是最好的吗?如果是这样,与此问题有关的某些代码将非常感谢 非常感谢,因为我可以找到的很多是通用的,并且可以执行返回随机整数之类的事情. 这是我希望在后台执行的代码: package com.example.locationtester; import android.content.Context; import android.location.Location; im
6 2023-03-12
编程技术问答社区