gpt4 book ai didi

android - 为两个应用启动一次服务

转载 作者:行者123 更新时间:2023-11-29 00:08:15 24 4
gpt4 key购买 nike

我创建了一个应用程序,有两种风格,“完整”和“演示”。两者都使用不可取消的 Notification 定义和启动服务。当我同时启动“完整”和“演示”时,该服务启动了两次,这会阻塞通知栏。

服务是这样启动的:

startService(new Intent(this, MyService.class));

如果服务已经由“其他”应用程序启动,是否有办法不启动该服务?

最佳答案

您应该通过在 list android:enabled=["true"| "false]" 然后将您的服务定义为导出的 android:exported=["true"| "false]" 这样它也可以由您的演示应用程序启动。这样,它可以由两者启动,但仅在完整版本中实例化。

如果您希望演示应用程序也能够作为独立应用程序运行,您可能应该做一些不同的事情。在启动之前检查服务是否已经在运行:

ActivityManager manager=(ActivityManager)context.getSystemService(Context.ACTIVITY_SERVICE);

for ( RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) {
if ("your.package.name".equals(service.service.getClassName())) {
return true;
}

关于android - 为两个应用启动一次服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32226277/

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