我是否可以通过在Oreo及以上版本中为动态注册ACTION_PACKAGE_ADDED广播来使用Foreground Service来监控新的应用安装

问题描述 投票:0回答:1

通过在Oreo及以上版本的前台服务中动态注册广播,我成功地能够监控新的应用安装。但为此我总是要显示我的应用程序的持续通知。有没有替代品

Google在文档中说:

当应用程序需要执行用户可以注意到的任务时,即使他们没有直接与应用程序交互,您也应该只使用前台服务。因此,前台服务必须显示优先级为PRIORITY_LOW或更高的状态栏通知,这有助于确保用户了解您的应用正在执行的操作。如果操作的重要性足够低,您希望使用最低优先级通知,则可能不应该使用服务;相反,考虑使用预定的工作。

所以我可以为此目的使用前台服务。如果不是它的替代品。

android broadcastreceiver android-notifications foreground-service
1个回答
0
投票

如您发布的文档中所述,请考虑使用预定作业。

如果你使用前台服务,你将需要一个持续的通知,这将是用户烦恼(加上你不会每五分钟安装一个新的包...所以......)

相反,您应该安排一个作业来检查是否安装了新的包。

看看this question中接受的答案

您还可以使用轮询,设置JobScheduler作业以便经常检查,通过getChangedPackages()向PackageManager询问已安装应用程序列表中的更改内容。

© www.soinside.com 2019 - 2024. All rights reserved.