Appcelerator Titanium Android后台定位服务
我正在尝试制作一个应用程序,如果用户进入特定区域,他会收到警报。即使应用程序处于后台,这也将起作用。
我发现 Ti.App.iOS.backgroundService 可以为 iphone 执行此操作,但如何在 android 中启动后台服务以及如何在找到特定纬度和经度时呈现本地通知之类的事情。
所以基本上我的问题是:-
- android中的后台位置服务
- android 相当于本地通知
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
对于 Android 上的背景地理,我使用以下策略。
1) 在我的 app.js 中,我添加一个 Titanium.App.addEventListener,其中包含我的地质逻辑
厨房水槽示例 https://github.com/appcelerator/titanium_mobile/blob/master/demos/KitchenSink/Resources/examples/app_events.js
2) 然后我创建一个每 15 分钟触发一次的 ServiceIntent
Kitchen水槽样品https://github.com/appcelerator/titanium_mobile/blob /master/demos/KitchenSink/Resources/examples/android_services.js
请注意,您调用的这个 service.js 需要位于您的 android 文件夹中,即使您有仅适用于 Android 的项目。
3) 该服务会检查个人移动的距离是否超过 1KM,如果有,则会触发步骤 1 中定义的应用程序事件。
使用此策略并调整我的服务时间和距离计算,我已经能够减少大部分电池消耗我在使用距离过滤器的内置位置事件时遇到的问题。
希望这有帮助。
For background geo on Android I use the below strategy.
1) In my app.js I add an Titanium.App.addEventListener that contains my geo logic
Kitchen Sink Sample https://github.com/appcelerator/titanium_mobile/blob/master/demos/KitchenSink/Resources/examples/app_events.js
2) I then create a ServiceIntent that fires every 15 minutes
Kitchen Sink Sample https://github.com/appcelerator/titanium_mobile/blob/master/demos/KitchenSink/Resources/examples/android_services.js
Please note this service.js you call needs to be in your android folder, even if you have an android only project.
3) The service checks if the individual has moved more then 1KM, if they have it fires the App Event defined in step 1.
Using this strategy and adjusting my service time and distance calculation I've been able to reduce most of my battery drain issues that I had with the built in location event with distance filter.
Hope this helps.