我创建了一个应用程序,扫描(测距)在forground信标,背景,也当应用程序被杀.我使用Altbeacon库为这个项目.作为建议由davidjyoung Altbeacon库的成员,对于后台扫描我开始前台服务.它在大多数设备中工作正常,但在一些手机中(一加,小米,一些摩托罗拉设备)获得扫描信标之间差距非常高(有时约50秒至1分钟).有人能建议我该怎么做的解决方案吗?请给予建议。先谢谢你。代码是相同的所有设备,但差距是非常高的一些电话.
qacovj5a1#
许多Android OEM定制蓝牙堆栈以保存电池和警察后台活动.这是众所周知的真实小米,一加,华为和其他中国OEM.有这些变化的主要方式有两种:1.原始设备制造商杀死在后台运行的应用程序。DontKillMyApp的人做了大量的工作来记录这一点,并提供了一些解决方案。这些解决方案通常意味着指示用户转到Android设置,将您的应用程序从专有的后台节电程序中排除。
1条答案
按热度按时间qacovj5a1#
许多Android OEM定制蓝牙堆栈以保存电池和警察后台活动.这是众所周知的真实小米,一加,华为和其他中国OEM.有这些变化的主要方式有两种:
1.原始设备制造商杀死在后台运行的应用程序。DontKillMyApp的人做了大量的工作来记录这一点,并提供了一些解决方案。这些解决方案通常意味着指示用户转到Android设置,将您的应用程序从专有的后台节电程序中排除。
不幸的是,如果您已经让用户将您的应用排除在后台限制之外,并且您仍然看到这些问题,您可以做的很少。您可能需要重新设计您的应用以在这些OEM的限制内工作,阻止这些OEM的手机支持您的应用,或者将用户体验更改为仅针对有问题的OEM的前台。请参阅here了解有关此主题的进一步想法--当然也要让你的老板或项目经理知道这些限制。
最后一点:在我的经验,摩托罗拉通常不是一个有问题的OEM.它曾经是由谷歌拥有,多年来一直非常接近开源Android.如果你看到摩托罗拉的问题,你可能想寻找其他原因.测试与图书馆的参考应用程序,并确认你看到同样的问题,并测试与质量信标广告在10 Hz和高发射功率.