我目前正在开发一个应用程序,设备的位置应该发送到服务器。我已经阅读了有关后台代理和访问该位置的 MSDN 文章。到目前为止,这有效。当我触发了比设置的 MovementThreshold 更远的位置更改时,我的位置将被传输到服务器。
但是,我读过后台代理的测试可能很复杂。如果您使用模拟器,您可以很容易地经常更改设备的位置。但是在真机上,定位后台服务的空闲运行时间被限制在 30 分钟,而命令的执行最多只需要 25 秒。用户也可以从电话的设置屏幕禁用后台代理。当代理连续崩溃两次以上时,它们也会被停用。另一个限制是不活动的后台代理在 4 小时后停止,如果它们不更新应用程序动态磁贴。
我的应用程序更新了一个实时磁贴计数器,所以我认为我的后台代理应该运行长达 14 天而无需从我的应用程序重新启动。我从昨天到今天测试了该应用程序,并看到后台代理正在运行(从设置中查找时)。在上面的栏中还有一个可见的小点,表明程序正在访问手机的地理位置。然而,有时这个点会消失,我的后台代理会因为没有明显的原因而被杀死。
因此我的问题是:
- 如何在真实设备上可靠地测试地理位置而无需携带手机和连接的调试笔记本电脑?
- 如何及时测试我提到的超时场景(30 分钟、4 小时、14 天)?
- 如何检查后台代理的这两次崩溃?