gpt4 book ai didi

java - Android 分发包含后台服务的 SDK。

转载 作者:行者123 更新时间:2023-12-02 05:55:40 24 4
gpt4 key购买 nike

我想创建一个可以重新分发的 android sdk。在该 SDK 中,它有一个 Service。

假设 appA 和 appB 与我的 SDK 集成,如果 appA 和 appB 启动服务,是会运行 2 个服务还是只有一个服务?

有没有办法确保只能运行一个服务?

或者在 SDK 中分发服务不是一个好主意吗?

最佳答案

In that SDK, it has a Service.

我将其解释为“在该 SDK 中,它有一个扩展 Service 的 Java 类,并且我期望此 Service 将在应用程序的 list ,无论是手动还是自动(例如,通过 AAR 的 list 合并)”。

Let's say appA and appB integrates with my SDK, if appA and appB starts the Service, is there going to be 2 Services running or just one?

该服务将有零个、一个或两个实例。

如果两个开发人员都搞砸了并且未能将服务添加到他们的 list 中,则为零,在这种情况下它将永远不会运行。

如果两个开发人员都将服务添加到其 list 中并通过显式Intent启动该服务,则有两种情况。

在多种情况下,只有一项服务会运行(例如,一位开发人员搞砸了,没有将该服务添加到 list 中,而另一位开发人员则执行并使用显式 Intent) .

Is there a way to make sure only one Service can be ran?

不容易。对于初学者来说,除非您是 appA 和 appB 的开发人员,否则这些开发人员可以做他们想做的事情,并且他们可能不希望其他应用程序与您的服务副本进行通信(例如,出于安全原因)。您还必须处理安装了appA但未安装appB,或者安装了appB但未安装appA的情况。您必须处理这样的情况:首先安装了 appA 和 appB,并且它们选择使用 appA 的服务,然后用户卸载了 appA,——现在 appB 将无法再访问服务在 appA 的部分上管理的数据。内部存储。

Or is it not a good idea to distribute the service in the SDK?

在 JAR 或 AAR 中分发服务本质上没有任何问题。尝试强制多个应用程序仅从其中一个应用程序使用相同的服务实例,往好了说是很棘手,往坏了说是有风险,所以我会尽量避免这一要求。

关于java - Android 分发包含后台服务的 SDK。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23110815/

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