如何解决使用Kivy在Android中进行前台服务
我正在尝试使用kivy在Android中执行前台服务。
我已经按照互联网上的不同示例创建了一项服务,但是在进入睡眠(打ze模式)几分钟后,甚至当我切换到另一个应用程序后,所有这些示例都被Android杀死了。
我尝试了几个示例,并尝试了不同的选择,但几分钟后没有人活着。
我尝试过的其他事情
https://python-for-android.readthedocs.io/en/latest/services/
https://github.com/tshirtman/kivy_service_osc
https://github.com/kivy/kivy/wiki/Background-Service-using-P4A-android.service
似乎,由于应用程序产生的Android Oreo服务将在应用程序被杀死后立即被杀死。而且,如果您想在后台运行服务,则需要向用户显示正在进行的通知,告诉他们您的应用程序正在后台运行。但是我不知道该怎么做。
如果有人可以帮助我或提供示例说明,我将非常感激。
预先感谢
编辑:我的解决方案,以防万一它可以帮助某人。
最后,我已经能够使用kivy启动前台服务(因此当手机进入睡眠状态或使用其他应用程序时,它并没有被Android杀死),但是我不得不编辑一个buildozer结构文件。 / p>
我已使用https://github.com/tshirtman/kivy_service_osc中的示例创建了我已经执行过的APK
buildozer -v android debug deploy run logcat
然后我编辑了.buildozer/android/platform/build-armeabi-v7a/dists/oscservice__armeabi-v7a/templates/Service.tmpl.java
(服务脚本在service.y
文件中),并且我进行了更改
intent.putExtra("serviceStartAsForeground","{{ foreground|lower }}");
作者
intent.putExtra("serviceStartAsForeground","true");
然后我再次执行了
buildozer -v android debug deploy run logcat
我还没有找到其他方法来告诉kivy我想执行前台服务。如果有人知道并分享其他更好的方法,我将不胜感激。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。