问题基本上就是这样。我不小心导入了java.util.logging,但没有得到预期的功能。现在我解决了我的问题,但我想知道为什么Android创建了两个Handler。我们可能会误导入错误的一个。就像它对待Fragment和Support Fragment一样。
来自Android文档:
Handler允许您发送和处理与线程的MessageQueue相关联的消息和Runnable对象。每个Handler实例都与单个线程及其消息队列相关联。当您创建一个新的Handler时,它绑定到创建它的线程/消息队列--从那时起,它将向该消息队列传递消息和runnable并在它们出队时执行它们。
来自Oracle文档:
Handler对象从Logger接收日志消息并将其导出。例如,它可以将它们写入控制台或文件,或将它们发送到网络日志服务,或将它们转发到操作系统日志等。
通过setLevel(Level.OFF)可以禁用Handler,并通过使用适当的级别进行setLevel来重新启用它。Handler类通常使用LogManager属性为Handler的Filter、Formatter和Level设置默认值。
java.util.logging.Handler
是来自于原始的Java。它是各种类型的日志终端(如套接字、文件等)的超类。
android.os.Handler
是由Android开发团队创建的用于处理消息的类。
还有其他例子:
java.lang.Integer
和 android.R.integer
只要类在不同的包中,它们具有相同的名称是被允许的。(而且这是不可避免的,因为人们往往会使用相同的名称来指代类似的事物)