Red*_*arp 23 android geofencing google-play-services
我一直在测试最新Google Play服务中提供的地理围栏api,使用此处提供的官方示例:https://github.com/googlesamples/android-Geofencing/ 当然,还要遵循培训课程:http:// developer.android.com/training/location/geofencing.html
当您在San Fransisco附近的两座Google建筑物时,样本会显示通知,因此当我即将离开家或工作地点时,我会将其调整为触发.
如果我使用真实的设备,它的工作原理.通知被正确触发.但是,当我使用模拟器,并使用telnet或ddms更改位置时,没有任何反应.我也尝试使用Genymotion,安装了Gapps,同样的东西:没什么.
有没有人有任何关于如何测试地理围栏的指针,而不是实际移动我的屁股?因为在街上,没有办法调试代码......
这是你需要做的:
设置 - >开发人员选项 - >允许模拟位置
添加以下权限:
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" />
确保您的GPS定位服务开启(高精度)而非网络位置
从应用程序商店下载一个名为Fake GPS的应用程序(它有一个黄色的快乐事实,持有一个遥控器).您可以使用该应用设置假GPS
希望这能回答你的问题:)
我有同样的问题,如果你有一个设备,你可以通过在设置中启用模拟位置轻松伪造位置
设置 - >开发人员选项 - >允许模拟位置
而且你还必须在清单中添加它:
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" />
Run Code Online (Sandbox Code Playgroud)
我从未尝试过模拟器,但尝试打开模拟器并执行相同的操作(转到设置并启用模拟位置),祝你好运!
我几乎放弃了测试地理围栏......
没有真正移动我的屁股
...但是通过深入研究,我找到了一个解决方案(尽管这不是最佳方案)。
与常规位置更新相比,地理围栏的问题在于,地理围栏需要一点“戳”才能工作。
地理围栏依赖于其他应用程序和操作系统。如果没有主动请求位置更新的应用程序,并且 Android 系统“认为”它位于同一位置(模拟器总是如此),则栅栏不会触发。
所以有两种解决方案:
在调试期间主动请求位置更新
在多窗口模式下打开谷歌地图,然后在模拟器设置中输入纬度/经度并单击发送后单击“我的位置按钮”
当然,其他答案中提到的事情是必需的(高精度)。
我希望这个答案能为其他开发人员节省一些时间:)
| 归档时间: |
|
| 查看次数: |
8821 次 |
| 最近记录: |