gpt4 book ai didi

android - 在 string.xml 中定义时服务操作不起作用

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

我面临一个奇怪的问题。我在 string.xml 中定义了我的服务操作,并在 list 中使用相同的操作,如下所示:

<service android:name=".MyService" >
<intent-filter >
<action android:name="@string/my_service_action" />
</intent-filter>
</service>

另外,在启动服务时,我是这样开始的:

Intent serviceIntent = new Intent(getResources().getString(R.string.my_service_action));
startService(serviceIntent);

谁能告诉我问题出在哪里

如果我对相同的 Action 值进行硬编码,它会工作得很好。经过一些尝试后,我发现它仅在 list 文件中使用时才起作用(例如,仅在 java 代码中硬编码操作值而不是 list )。

最佳答案

我认为您不能将字符串引用用作服务的操作字符串。它必须是一个具体的字符串值。根据 javadoc:

android:name The name of an action that is handled, using the Java-style naming convention. [string]

例如:

<service android:name=".MyService" >
<intent-filter >
<action android:name="com.demo.service.MY_SERVICE" />
</intent-filter>
</service>

然后您应该将其用作:

Intent serviceIntent = new Intent("com.demo.service.MY_SERVICE");
startService(serviceIntent);

关于android - 在 string.xml 中定义时服务操作不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10245264/

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