关于接收者意图过滤器操作

发布于 2025-01-07 13:35:15 字数 440 浏览 0 评论 0原文

    <receiver android:name=".receiver.ReLoginReceiver">
        <intent-filter>
            <action android:name="@string/xxx" />
        </intent-filter>
    </receiver>

如果我写动作名称“@string/xxx”,并且xxx在strings.xml com.aizheke.aizheked.action.reLogin中定义, 然后我使用sendBroadcast(new Intent(getString(R.string.xxx))),接收器无法被调用。 但如果我改变了动作的 android:name , 然后我就可以收到广播了。我想知道为什么接收者不能像这样定义操作:?

    <receiver android:name=".receiver.ReLoginReceiver">
        <intent-filter>
            <action android:name="@string/xxx" />
        </intent-filter>
    </receiver>

if i write action name "@string/xxx", and xxx defined in strings.xml com.aizheke.aizheked.action.reLogin,
then i use sendBroadcast(new Intent(getString(R.string.xxx))), receiver can't be called.
But if i changed action's android:name ,
then i can receive the broadcast. I wonder why receiver can't define action like this:?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

一枫情书 2025-01-14 13:35:15

您不使用字符串资源作为操作名称和其他此类内容。这些不是要本地化的字符串,而是严格定义的编程名称,如方法名称。

You do not use string resources for action names and other such things. These are not strings that are to be localized, these are strictly defined programmatic names, like method names.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文