android– 使用广播接收器作为具有清单注册的活动内部类

android– 使用广播接收器作为具有清单注册的活动内部类,第1张

概述我有一个活动,我有一个广播接收器(br).如果我以编程方式注册br,则接收器已注册并且工作正常.但是,如果我在清单中注册接收器,则会收到java.lang.ClassNotFoundException.<receiverandroid:name=".MyActivity.UpdateUIClass"android:exported="fa

我有一个活动,我有一个广播接收器(br).如果我以编程方式注册br,则接收器已注册并且工作正常.

但是,如果我在清单中注册接收器,则会收到java.lang.ClassNotFoundException.

<receiver                     androID:name=".MyActivity.UpdateUIClass"        androID:exported="false"        >        <intent-filter>            <action androID:name="com.mydomain.main.FILTER_UPDATE_UI" />            <category androID:name="androID.intent.category.DEFAulT" />                        </intent-filter>    </receiver>

请指教

解决方法:

如果UpdateUIClass是MyActivity的内部类,那么你需要以这种方式引用它:androID:name =“.MyActivity $UpdateUIClass”

这是您在布局XML中执行此 *** 作的方式.不确定这是否适用于清单,但请试一试,看看它是否有效.

编辑

除非内部类是静态的,否则这是不可能的,因为清单会在加载时封送所有对象而不是按需封送.托管子类的类在解析接收器时不存在.

相关问题:Is it possible to define a broadcast receiver as an inner class in manifest file?

总结

以上是内存溢出为你收集整理的android – 使用广播接收器作为具有清单注册的活动内部类全部内容,希望文章能够帮你解决android – 使用广播接收器作为具有清单注册的活动内部类所遇到的程序开发问题。

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

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1109925.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存