我在9000km^2的区域内有大约3500个地理兴趣点,我希望我的应用程序在后台运行并在用户接近上述任何一个点时通知他或她。新GeofenceAPI在2013年谷歌I/O期间推出的似乎非常适合这项工作,尤其是它针对电池生命周期进行了优化,但在我获得状态代码GEOFENCE_TOO_MANY_GEOFENCES之前,我似乎无法注册超过100个地理围栏。(使用演示应用程序的修改版本)。是否可以增加此限制?也许通过一些设置或API? 最佳答案 我建议将所有点下载到设备上的sqlite数据库。然后用这样的东西找到最接近的99点:SQlite
根据Androidgeofencingdocumentation如果发生以下情况,应重新注册地理围栏:设备重新启动。解决方案:应用应在添加地理围栏时在内部存储地理围栏(SharedPreferences)。然后监听设备的启动完成Action,并重新注册存储的地理围栏。应用已卸载并重新安装。解决方案:用户应重新创建地理围栏或远程存储它们,然后在应用首次打开时检索。应用的数据已清除。解决方案:用户应重新创建地理围栏或远程存储它们,然后在应用首次打开时检索。但是,遇到以下情况我不知道该怎么办,请您指教?GooglePlay服务数据已清除。我如何检测这种情况?该应用已收到GEOFENCE_NO
我正在构建一个包含googlesgeofences的应用程序,我使用ENTER和EXIT转换创建了它。打开“Location”时会出现问题,当在我的地理围栏内时,它会触发两个转换,而只有ENTER转换应该触发。我将ENTER和EXIT设置为intitialTrigger()。这怎么可能?这是googleapi的错误还是我在构建器中做错了什么。提前致谢。@OverridepublicvoidonResult(Resultresult){Statuss=result.getStatus();Log.d(TAG,"onResult(...)"+s.isSuccess());if(!s.isS
我已经浏览了很多SO帖子,但对我来说还没有任何效果。我试图在设备进入地理围栏时触发通知。但它不会触发,直到打开应用程序。如何在应用程序处于后台时触发通知?地理围栏:publicclassGeofencingimplementsResultCallback{//ConstantspublicstaticfinalStringTAG=Geofencing.class.getSimpleName();privatestaticfinalfloatGEOFENCE_RADIUS=50;//50metersprivatestaticfinallongGEOFENCE_TIMEOUT=24*60*
我在Android上使用地理围栏,它在大多数手机上都运行良好,但在其中一些上,它只是不起作用(在我的错误日志中显示“地理围栏不可用”)。有些用户没有为GooglePlay服务启用位置跟踪。我认为这就是地理围栏无法在他们的手机上运行的原因。(对吗?)现在我想要一种检测方法。(通知用户并最终向他们展示如何修复它)我知道有一种方法可以知道googleplay服务是否可用(我已经这样做了),但这并没有说明定位服务是否启用。我知道我可以在添加或删除地理围栏时检查它,它有一个错误代码(地理围栏不可用LocationStatusCodes),但这还不够。一些用户在添加地理围栏后禁用定位服务。然后我无
我已经使用GoogleApiClient实现了地理围栏->当触发时,一个服务连接到GoogleApiClient并添加几个地理围栏。在我将另一个IntentService注册为地理围栏事件的“回调”之前。这或多或少起作用,但仅当应用程序处于前台时。因为我也想在应用程序处于后台/关闭时获取地理围栏事件,所以我进行了一些搜索并将回调从IntentService移动到BroadcastReceiver,现在当应用程序处于前台时我什至没有获取地理围栏事件。我已经在互联网上寻求解决方案(最常见的答案:将事件监听器从Service更改为BroadCastReceiver-但这让事情变得更糟)这是我
问候我有一部带有googleplay服务的ICECream三明治手机。从以下位置安装了Geofencedetection示例应用程序http://developer.android.com/training/location/geofencing.html我还安装了一个MockLocation应用程序使用这个模拟位置,我将我的位置设置为新德里(lat28.66long77.21)。现在我使用示例应用程序注册了以下地理围栏地理围栏1纬度11.94898长79.48475半径1000米地理围栏2纬度77.00000长77.00000半径1000米现在我再次打开模拟位置并设置位置为(在地理围
我正在尝试制作一个新的地理围栏应用程序,它只有一个按钮(Toast消息“内部”或“外部”),但该应用程序在启动时崩溃。代码如下:MainActivity.javapackagecom.example.geofencing;importjava.util.ArrayList;importcom.google.android.gms.common.ConnectionResult;importcom.google.android.gms.common.api.GoogleApiClient;importcom.google.android.gms.location.Geofence;imp
我正在开发一个用户可以设置多个位置的应用程序。当用户使用GeoFencing进入或离开特定区域时,我成功显示通知.现在,我需要为所有保存的位置提供监控,而且可能有数百个甚至更多。我在给定的链接上读到“您可以有多个Activity的地理围栏,每个设备用户限制为100个。”有没有办法为每个设备用户添加超过100个地理围栏?谢谢! 最佳答案 拥有一个ArrayList,其中包含您要监控的所有地理围栏+100。收听位置更新。当您获得位置更新时,如果您所有地理围栏的ArrayList都超过100,则删除所有被监视的地理围栏,然后使用harve
我的Geofence在开始时工作正常,但在一两天后突然停止触发,Google方面或我的代码是否有问题?在引导和启动应用程序时,我使用IntentService然后注册地理围栏:publicclassRegisterGeoIntentServiceextendsIntentServiceimplementsGoogleApiClient.ConnectionCallbacks,GoogleApiClient.OnConnectionFailedListener,ResultCallback{privatestaticfinalStringTAG="RegisterGeoIS";priva