Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何在AndroidManifest.xml中向广播接收器注册自定义Intent过滤器?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经在 @L_423_0@manifest.xml中定义了一个接收器来接收一个PlAY_FINISHED动作,而在其他文件中我向该广播接收器发送了一个intent,如下所示:
public String PlAY_FINISHED = "play finished"; 
...
Intent in = new Intent(PlAY_FINISHED);
this.service.sendBroadcast(in);

所以在我的清单文件中,我将其设置为这样,其中MyStaticString是一个包含应用程序中所有静态字符串的类.这是正确的方法吗?

<intent-filter>
        <action android:name="com.mysite.appname.MyStaticString.PLAY_FINISHED" />
    </intent-filter>

解决方法

清单中的android:intent过滤器的名称只是一个任意字符串,而不是Java常量的“路径”.问题是你的代码中的字符串常量被定义为“播放完成”,它与你在清单中指定的名称“com.mysite.appname.MyStaticString.PL​​AY_FINISHED”不匹配.

它应该是

public String PlAY_FINISHED = "com.mysite.appname.MyStaticString.PLAY_FINISHED";

调用变量无关紧要,或者即使将字符串存储在变量中也无关紧要.或者它的名字包含一个错字:)

您可以将清单中的android:name更改为“播放完毕”,但自定义广播操作是系统范围的,因此应该使用应用的包名称进行限定,以避免与其他应用发生冲突.

大佬总结

以上是大佬教程为你收集整理的如何在AndroidManifest.xml中向广播接收器注册自定义Intent过滤器?全部内容,希望文章能够帮你解决如何在AndroidManifest.xml中向广播接收器注册自定义Intent过滤器?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。