gpt4 book ai didi

用于 getRunningServices 的 Android O 替换

转载 作者:IT老高 更新时间:2023-10-28 23:01:20 28 4
gpt4 key购买 nike

在以前的 Android 版本中,我使用此方法来查找来自另一个应用程序的服务是否已启动并正在运行。它对我来说很可靠:

ActivityManager manager = (ActivityManager)getSystemService(Context.ACTIVITY_SERVICE);
List<RunningServiceInfo> services = manager.getRunningServices(Integer.MAX_VALUE);

但是,在 Android O 中,现在已弃用此功能,并且只会返回有关调用应用服务的信息。我研究了其他解决方案,但我不想要求用户获得更多权限(UsageStatsManager、NotificationManager 等)。

是否有替代解决方案来获取来自不同应用的服务是否在 Android O 中运行?

最佳答案

有意没有替换此功能。从文档中看不太清楚,但是from the docs :

Note: this method is only intended for debugging or implementing service management type user interfaces.

基本上,使用该方法检查其他应用服务是一种意外的副作用,因此 Google 决定将其删除。可能出于隐私/安全目的,以避免应用“嗅探”用户设备上的其他应用/服务。

您没有提及您的用例,但您希望避免向用户询问权限。然而,谷歌故意强制开发者明确地请求他们需要的权限,你可以找到解释的哲学 here .

关于用于 getRunningServices 的 Android O 替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45715905/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com