我需要清楚地了解随此处发布的地理围栏指南提供的示例代码:
https://developer.android.com/training/location/geofencing.html
我运行了代码,发现地理围栏创建正确,但我真正想要的是一种在我开车到这些地理围栏位置时收到警报的方法。现在,当我经过那些地理围栏点时,没有任何反应(没有调用 ReceiveTransitionsIntentService),没有任何通知。
我是否还必须监听定期的位置更新并手动将 lat/lng 传递给上面的代码以指示我的当前位置?当我将地理围栏添加到 LocationClient 时,我认为这应该是自动的,但我想还有更多。
我还尝试将 LocationRequest 注册到 LocationClient 实例,但仍然没有警报:
mLocationRequest = LocationRequest.create();
mLocationRequest.setInterval(LocationUtils.UPDATE_INTERVAL_IN_MILLISECONDS);
mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
mLocationRequest.setFastestInterval(LocationUtils.FAST_INTERVAL_CEILING_IN_MILLISECONDS);
mLocationClient.requestLocationUpdates(mLocationRequest, (LocationListener)mActivity);
如何将 Geofence api 与位置跟踪集成?
最佳答案
我也有问题。确保在将服务添加到 AndroidManifest 时正确定义了路径。我还必须将导出值更改为 true。
<application>
...
<service
android:name=".ReceiveTransitionsIntentService"
android:exported="true" >
</service>
...
</application>
您还需要在 list 中添加元数据标记以指定您的 google gms 版本。
<application>
...
<meta-data
android:name="com.google.android.gms.version"
android:value="4242000" />
...
</application>
我创建了一个更简单的 Google 示例版本,包含代码和更多解释,here .希望对您有所帮助!
关于android - 新的 Android Geofence Api - 示例代码在位置时不发出警报/通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16692550/