【发布时间】:2011-06-30 11:22:49
【问题描述】:
我正在查看PackageManager 类的源代码,它和所有方法一样是抽象的。制造商是否应该为它编写一个真正的实现,或者我错过了什么?
【问题讨论】:
我正在查看PackageManager 类的源代码,它和所有方法一样是抽象的。制造商是否应该为它编写一个真正的实现,或者我错过了什么?
【问题讨论】:
PackageManager 的真正实现是 PackageManagerService,位于 frameworks/base/services/java/com/android/server/
您可以在 GrepCode 中找到源代码here。
【讨论】:
PackageManager 是抽象的,需要提供具体的实现才能调用实例方法。这个类的实现可以作为ApplicationContext 的包私有静态类找到,它本身在ContextImpl 中可用。 (对于源代码see here)。请注意,PackageManager 的这个实现是最终的,因此不能被覆盖。
还有一个您可能感兴趣的 MockPackageManager 实现。
【讨论】:
【讨论】:
对于遇到这个老问题的任何人,请转到源 (android.googlesource.com)https://android.googlesource.com/platform/frameworks/base/+/master/services/core/java/com/android/server/pm/PackageManagerService.java,grepcode 早已不复存在。
【讨论】: