我最近为Android项目重构了我的包结构,并将BroadcastReceiver
类移到了另一个包中。但是,我忘记更新AndroidManifest.xml中的receiver
代码的android:name
字段。
此BroadcastReceiver
用于向客户端发送通知,此严重错误仅表示未发送通知。遗憾的是,此文件没有编译时验证,或者似乎抛出任何运行时错误以指示此处的配置错误。
我可以做些什么来验证这些类型的配置吗?也许这些信息可以在单元测试中访问并验证?或者,也许我可以配置更详细的输出,以确保将来不会忽视这样的错误?
答案 0 :(得分:1)
或似乎,抛出任何运行时错误以指示此处的配置错误
警告可能已显示在LogCat中,但可能没有,因为广播的接收器为零是完全正常的情况。
我可以做些什么来验证这些类型的配置吗?
您可以file a feature request让Lint验证清单的这一部分。或者,您可以编写自己的脚本来分析源树和清单,并将其作为自定义Ant构建脚本的一部分包含在内。
也许这些信息可以在单元测试中访问并验证?
您可以使用PackageManager
and queryBroadcastReceivers()
确认您用于广播的Intent
将解析为1个以上的接收者。