我正在尝试使用
Google’s example: Creating & Monitoring Geofences测试Geofence功能.我已经上传了
code here.
问题是我从未收到进入或退出的通知.我有Wifi,4G和GPS.我试图通过以下方式进行测试:
>我甚至走出我的房子大约50英尺,然后走回Go – 但没有通知.我可以看到播放服务连接,甚至“GeofenceUtils.ACTION_GEOFENCES_ADDED in MainActivity.java”被触发,所以我认为Geofences正在被正确添加.
>在设置中启用模拟位置并使用此Fake GPS App并更改位置 – 从与Geofence1相同的坐标开始,然后设置为完全在外面(在另一个状态) – 但我仍然没有得到退出通知.
我究竟做错了什么? ANyone成功运行了这个Google’s example: Creating & Monitoring Geofences.我上传了code here以便于浏览.
我只是想学习Geofencing – 检测入口和放大器出口.我将标记任何答案作为我可以用来在我的真实设备上工作的正确答案
.
解决方法
我也遇到了示例代码的问题.我遇到的一个主要问题是声明ReceiveTransitionsIntentService.您不需要添加BroadcastReceiver或请求位置更新,但您需要更改AndroidManifest以将导出值设置为true,如下所示:
<service android:name=".ReceiveTransitionsIntentService" android:exported="true" > </service>
确保服务的路径也正确.
我已经大大简化了Google示例,您可以找到代码和解释here.我删除了UI组件和持久的Geofence存储,因此这个示例应该更容易理解.希望这可以帮助!