我想为Android电视平台建立一个应用程序。这个应用程序的一部分是一个服务/守护进程,它必须在设备引导时启动,并且必须在Android电视开机时始终运行,即使在备用状态下也是如此。
为什么我希望这个服务/守护进程一直运行?我的项目的一部分是一个便携式设备(如智能手机和/或平板电脑)的应用程序,它将通过TCP向Android TV应用程序发送命令。基于TCP消息的类型,应用程序将执行一个动作(打开/关闭设备,将我的应用程序推到前台等)。
许多android应用程序和服务同时运行。为了降低导致用户体验不佳的问题发生的几率,Android8.0应用程序有两种方法来限制应用程序的功能:
后台服务限制:当一个应用程序处于空闲状态时,它对后台服务的使用是有限制的。这不适用于前台服务,因为前台服务对用户来说更明显。
广播限制:除了有限的例外,应用程序不能使用他们的清单注册隐式广播。他们仍然可以在运行时注册这些广播,他们可以使用清单注册专门针对他们应用程序的显式广播。
因此,您需要创建一个ForegroundService以便继续处理您的应用程序。关于这个问题,你可以检查这个SO帖子。
[https://developer.android.com/about/versions/oreo/background.html]-真的没有办法为我的用例(但最好是为所有用例)提供永久的后台服务吗?
Ths是我的服务班 }
我如何防止android系统不杀服务?。 我不想在我的服务运行时一直显示通知,因为我将运行我的服务24*7为新消息,所以它感觉便宜的UI体验给用户。
我在和前台服务作斗争。在我的设备(Redmi 5 Plus,Android 8.1.0)上,当应用程序从最近的应用程序中删除时,服务通知将不再可见。在其他设备(Android5.0.1、Android7.0)和模拟器(Android8.1-API27)上,当应用程序从最近的应用程序中删除时,通知仍然可见。 在main activity中,我使用启动服务。 这是我的舱单文件: 我错过了什么?它是与后