问题 检测Android设备何时处于移动的汽车中


对于个人项目,我试图检测Android设备何时与某人驾驶。我最初想到使用GPS来确定平均速度,但决定消耗功率并要求用户始终启用GPS。我听说有人可以告诉有人切换手机信号塔(在Android和iOS上),但有广播意图吗?我对Android开发很陌生,所以当我相信该设备处于移动的汽车时,我希望能够注册广播接收器。

我不确定我是否可以创建自己的广播意图,并且我认为我不能依赖后台进程来始终运行,因为如果需要内存,android可能会杀死它。

作为旁注,我注意到一些应用程序,比如skype,有一个后台进程,即使我强行杀死它也会自动重启。他们如何做到这一点?我的想法是有一个广播接收器,当设备移动,打开等等,以重新启动后台进程...是他们做的?

感谢您的任何信息!


7599
2018-03-17 16:04


起源



答案:


我认为以下教程可以帮到你一点。我仍然不确定是否可以在广播接收器中捕获位置更改更新。但您也可以编写您的服务(通常不会被通常的应用程序杀死),它会轮询位置信息并检查是否发生了更改。

我希望这有帮助。问候


3
2018-03-17 16:34



谢谢,这些例子有助于找到解决方案。 - ravun
链接“:使用Android平台开发移动应用程序的邻近警报”404未找到。 - t0m
嘿saxos,你能在这里更新链接吗?其中一个看起来像是被抢注的 - Isaac
我已经更新了第二个链接。 - saxos


答案:


我认为以下教程可以帮到你一点。我仍然不确定是否可以在广播接收器中捕获位置更改更新。但您也可以编写您的服务(通常不会被通常的应用程序杀死),它会轮询位置信息并检查是否发生了更改。

我希望这有帮助。问候


3
2018-03-17 16:34



谢谢,这些例子有助于找到解决方案。 - ravun
链接“:使用Android平台开发移动应用程序的邻近警报”404未找到。 - t0m
嘿saxos,你能在这里更新链接吗?其中一个看起来像是被抢注的 - Isaac
我已经更新了第二个链接。 - saxos


如果您使用GOOGLE PLAY SERVICE

为您提供API,您可以获得有关此的详细信息

适用于所有情况,例如车辆的移动,行走,站立等。

此外,还可为您提供各种情况下的可靠性

以下是该出色解释的链接:

http://developer.android.com/training/location/activity-recognition.html

链接到文档:

https://developer.android.com/reference/com/google/android/gms/location/ActivityRecognition.html

https://developer.android.com/reference/com/google/android/gms/location/DetectedActivity.html


3
2017-10-26 23:42





要获得更可靠的服务,请查看START_STICKY: http://developer.android.com/reference/android/app/Service.html#START_STICKY


2
2018-03-17 16:23





我建议GPS会给你更好的动作指示,因为你可能很少更换塔。即使是能够使用塔信号对您的位置进行三角测量的映射应用程序也非常不准确。通常即使信号非常好,他们也无法在1600米范围内对您的位置进行三角测量。


1
2018-03-17 16:10





您是否需要改变位置或移动设备所需的全部内容?如果你只是在寻找运动 http://developer.android.com/reference/android/hardware/SensorManager.html是一个很好的资源来看待。


1
2018-03-17 16:15





您还可以考虑询问用户他们的车中是否有蓝牙套件。如果他们有你可以找到这个配对的名称,并在连接时你知道他们在车里(或接近它)。


0
2018-03-17 16:24