当我使用“@string/action_name”来定义意图过滤器操作时,我的 BroadcastReceiver 永远不会被调用。如果我将 strings.xml 中的相应字符串复制/粘贴到 AndroidManifest.xml 中,那么它可以完美运行!
AndroidManifest.xml 中的非工作示例:
<receiver
android:name=".ServerUpdateReceiver" >
<intent-filter>
<action android:name="@string/ACTION_INFORM_USER_SERVER_UPDATE" />
</intent-filter>
</receiver>
AndroidManifest.xml 中的工作示例:
<receiver
android:name=".ServerUpdateReceiver" >
<intent-filter>
<action android:name="com.franklinharper.intent.action.ACTION_INFORM_USER_SERVER_UPDATE" />
</intent-filter>
</receiver>
为了完整起见,strings.xml 包含以下行:
<string name="ACTION_INFORM_USER_SERVER_UPDATE">com.franklinharper.intent.action.ACTION_INFORM_USER_SERVER_UPDATE</string>