gpt4 book ai didi

android - 如何为特定口味启动服务?

转载 作者:搜寻专家 更新时间:2023-11-01 09:20:16 25 4
gpt4 key购买 nike

我为我的应用程序编写了不同的风格,我有一个服务,我只想为其中一个运行。

我该如何实现?

最佳答案

解决方案一

if("debug".equals(BuildConfig.FLAVOR) {
// Start service A
} else if ("release".equals(BuildConfig.FLAVOR) {
// Start service B
}

或者

if("debug".equals(BuildConfig.FLAVOR) {
// Start service A onfly if using "debug" flavor
}

方案二

您也可以使用上述方法中止特定口味的服务:

@Override
public int onStartCommand(Intent intent, int flags, int startId) {
if("debug".equals(BuildConfig.FLAVOR) {
stopSelf();
}
....
}

方案三

此外,您可以针对不同的风格使用不同的 AndroidManifest.xml:

基础 AndroidManifest.xml

编辑文件:app/src/main/AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest>
<application>
...
<service android:name="com.test.Service" />
</application>
</manifest>

Flavor Specific AndroidManifest.xml

在 app/src/FLAVOR_A/AndroidManifest.xml 编辑/创建文件

<?xml version="1.0" encoding="utf-8"?>
<manifest>
<application>
...
<service android:name="com.test.Service" android:enabled="true" tools:node="merge"/>
</application>
</manifest>

这只会将标志 android:enabled="true" 添加到 FLAVOR_A

您可以找到有关 mergin list 文件的更多信息 here

关于android - 如何为特定口味启动服务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56631290/

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