是否需要在另一个软件包活动显示时显示通知并启动fg服务?

时间:2018-07-13 11:02:18

标签: android notifications android-8.0-oreo foreground-service

我有一个使用另一个库输入密码的应用程序。

它将启动my.package.MainActivity,如果它被锁定,则会显示different.lib.package.MainActivity来获取密码。然后恢复到my.package.MainActivity,从API加载数据并显示它们。

您可以在主屏幕上的小部件上显示一些数据(此处不需要密码)。这些数据从运行服务my.package.MyService每隔+小时更新一次。

my.package.MainActivity在前台时,my.package.MyService在后​​台运行并正确更新数据。

my.package.MainActivity在后​​台运行时,my.package.MyService作为前台服务启动,并向用户显示有关该服务的通知。据我了解,这就是在Oreo上的工作方式。

所以..当显示different.lib.package.MainActivity时,我必须将服务作为前台服务运行。否则我会得到

  

java.lang.IllegalStateException:

不允许启动服务意图,应用程序处于后台。

different.lib.package.MainActivity在前台时是否可以停止显示此通知?还是我必须显示通知,因为它来自不同的软件包?我遇到了麻烦,因为从用户的角度来看,它看起来像一个应用程序在前台,并且通知显示该应用程序在后台运行。

(我正在维护的这是一个古老而又庞大的应用程序)

0 个答案:

没有答案