Articles of android location

如何扩展实现Parcelable接口的android类?

首先,我检查了这个答案 。 我想要做的是扩展Location类,调用它的LocationPlus ,它有一些成员variables。 我想要实现的function是将LocationPlus类的对象从一个活动传递到另一个活动。 这是我的CREATOR public static final Parcelable.Creator CREATOR = new Parcelable.Creator() { @Override public LocationPlus createFromParcel(Parcel source) { return new LocationPlus(source); } @Override public LocationPlus[] newArray(int size) { return new LocationPlus[size]; } }; 我面临的问题是这个错误 Implicit super constructor Location() is undefined. Must explicitly invoke another constructor 在尝试编写构造函数时 public LocationPlus(Parcel in) { 有评论的人要求我发布LocationPlus类,所以在这里 public […]

无法启动服务 – 需要ACCESS_MOCK_LOCATION安全设置

我有一个例外 java.lang.RuntimeException: Unable to start service … java.lang.SecurityException: Requires ACCESS_MOCK_LOCATION secure setting 但是我在Manifest文件中: 有什么不对?

使用GoogleApiClient + LocationServices不更新

我只是想做一个简单的“教程”应用程序来获取我的手机的位置(以便在以后的其他应用程序中学习如何使用它),但我只是没有到达任何地方。 我做了什么 Android Developer的教程:首先,我按照Android开发者网站(developer.android.com/training/location/receive-location-updates.html)中的教程进行操作。 就像那里所示,我使用了Location,LocationClient和LocationRequest,在onCreate中初始化它们(并设置它们)。 LocationClient在onStart和onStop上连接和断开连接。 我在连接后请求位置更新(在onConnected中)。 我在拨打电话之前validation了GooglePlayServices是否可用,而且我仍然没有在“onLocationChanged”中获得任何更新。 GoogleApiClient:我注意到不推荐使用LocationClient,而首选的是LocationServices(developer.android.com/reference/com/google/android/gms/location/LocationClient.html)。 如下所示: https : //developer.android.com/reference/com/google/android/gms/location/FusedLocationProviderApi.html ,我使用GoogleApiClient并将其设置为LocationServices(也是https://stackoverflow.com/a / 25013850/3802589 )。 那么我把它全部设置为使用它但仍然没有得到任何关于位置的更新。 onLocationChanged如果有响应则应该打印。 我还放了一个打印位置或“没有”的按钮。 备注 我检查了使用谷歌地图,看看我是否有一些东西,但它的工作正常。 项目 的build.gradle dependencies { compile fileTree(dir: ‘libs’, include: [‘*.jar’]) compile ‘com.google.android.gms:play-services:5.0.77’ compile “com.android.support:support-v4:20.0.+” } 表现 … … … 码 public class MyActivity extends Activity implements GoogleApiClient.ConnectionCallbacks, GoogleApiClient.OnConnectionFailedListener, LocationListener { private GoogleApiClient mLocationClient; private […]

哪个是更高的准确度标准:ACCURACY_HIGH或ACCURACY_FINE?

在Criteria类中,有两个常量ACCURACY_HIGH和ACCURACY_FINE ,它们显然用于要求LocationManager返回更高精度的位置更新。 以下是文档中关于每个常量的说明: public static final int ACCURACY_FINE (在API级别1中添加) A constant indicating a finer location accuracy requirement Constant Value: 1 (0x00000001) public static final int ACCURACY_HIGH (在API级别9中添加) a constant indicating a high accuracy requirement – may be used for horizontal, altitude, speed or bearing accuracy. For horizontal and vertical position this corresponds roughly to an […]

持续报告用户位置的最佳实践

我正在设计一个应用程序,其中服务器端的应用程序需要不断了解用户位置。 我正在考虑创建一个在后台运行的Android服务,并不断查询用户位置并将结果发送到后端服务器中的应用程序。 但是,我想知道这是否是节省电池方面的最佳方法。 例如,在iOS中,有一种称为“重大变化”的东西用于此目的,Android有类似的东西。

Android getMaxAddressLineIndex为第1行返回0

由于某种原因,最近更改了getMaxAddressLineIndex的实现。 现在,此方法为第1行返回0。 我有一个现有的代码,曾经工作: i<address.getMaxAddressLineIndex( )。 然而,它以某种方式被打破。 我不知道这是由于新的Google Api还是别的。 有人可以在这里确认一下发生了什么事吗?

GeoCoder服务不可用

GeoCoder服务不可用 我正在使用GeoCoder获取AddressLocation 。 不幸的是,该方法触发IOException saying: “Service not Available” 。 这个StackOverFlow线程解释了发生了什么,因为我彻底测试了它(用户权限,构建版本,重启,GeoCoding API限制等)。 您可以在以下LocationServicefind的Google Play-Services (或LocationService Google Play-Services ):Android设置 – >(管理)应用程序 – >运行进程,已崩溃或停止。 它重新启动,但忘记将GeoCoderService绑定到NetworkLocator。 此错误的“解决方案”是重新启动Android手机,因为在重新启动时,GeoCoderService绑定到NetworkLocater。 我当然不认为这是一个解决方案。 题 我的问题是,LocationService如何崩溃或首先停止? 我所做的是手动强制停止Google Play服务,一些设备重新启动了LocationService,但有些设备没有。 不工作 (没有重启LocationService) 4.0.3三星Galaxy Note(GT-N7000) 4.0.4三星平板电脑GT-P7100 4.1.2 nexus S. 4.1.2三星Galaxy S III(GT-I9300) 工作 (确实重启了LocationService) 2.3.5 HTC Wildfired S. 4.0.3 Acer A500 4.1.1三星Galaxy Note II(GT-7100) 4.1.2三星Galaxy S II(GT-I9105P) 4.2.2三星平板电脑GT-P7500 […]

isProviderEnabled(LocationManager.NETWORK_PROVIDER)返回false

我正在使用NETWORK_PROVIDER获取该地点的latitude和longitude 。 我已经检查了“位置和安全性”中的设置并启用了“使用无线网络”。 但是”isProviderEnabled(LocationManager.NETWORK_PROVIDER)”始终返回false 。 谁能帮我? 先谢谢你! 这是我的代码: LocationManager locManager=(LocationManager) getSystemService(Context.LOCATION_SERVICE); boolean isEnableGPS=locManager.isProviderEnabled(LocationManager.GPS_PROVIDER); boolean isEnableNTW=locManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER); Log.d(TAG, isEnableGPS+”, “+isEnableNTW); AndroidMainfest.xml中的权限

如何使用Wifi或GSM或GPS获取粗略位置,以哪个可用?

我的应用程序启动时只需要一个粗略的位置服务。 详细地说,我需要应用程序的粗略位置,以便为用户提供附近的商店信息。 该位置不需要不断更新。 此外,在这种情况下,粗略定位就足够了。 我希望应用程序能够自动选择GSM,wifi或GPS,无论哪个可用。 定位服务也应该是一次性的,以节省电话能量 。 我该怎么办? 我曾尝试单独使用GPS。 我的问题是我不知道如何停止GPS的不断更新的位置function。 我不知道如何让手机从三种方法中选择一种。 非常感谢一些示例代码或想法。

使用经度和纬度比较两个位置

嗨我需要在onchangelocation()上调用一个事件,通过比较当前纬度和经度与一些保存的纬度和经度,但我得到一个错误。 日食不识别关键词距离,并且对于校正错误,它给出提示箱子方法“距离”有4参数…如何修复它? 或其他一些方式做同样的工作??? 感谢致敬。 代码附在下面 @Override public void onLocationChanged(Location location) { double currentLat=location.getLatitude(); double currentLon=location.getLongitude(); if (distance(lat,lon,currentLat,currentLon)<2.0){ //do what you want to do… } }