【问题标题】:Who provides implementation(s) of the PackageManager class?谁提供 PackageManager 类的实现?
【发布时间】:2011-06-30 11:22:49
【问题描述】:

我正在查看PackageManager 类的源代码,它和所有方法一样是抽象的。制造商是否应该为它编写一个真正的实现,或者我错过了什么?

【问题讨论】:

    标签: android class


    【解决方案1】:

    PackageManager 的真正实现是 PackageManagerService,位于 frameworks/base/services/java/com/android/server/

    您可以在 GrepCode 中找到源代码here

    【讨论】:

    【解决方案2】:

    PackageManager 是抽象的,需要提供具体的实现才能调用实例方法。这个类的实现可以作为ApplicationContext 的包私有静态类找到,它本身在ContextImpl 中可用。 (对于源代码see here)。请注意,PackageManager 的这个实现是最终的,因此不能被覆盖。

    还有一个您可能感兴趣的 MockPackageManager 实现。

    【讨论】:

      【解决方案3】:

      【讨论】:

        【解决方案4】:

        对于遇到这个老问题的任何人,请转到源 (android.googlesource.com)https://android.googlesource.com/platform/frameworks/base/+/master/services/core/java/com/android/server/pm/PackageManagerService.java,grepcode 早已不复存在。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-07-05
          • 2021-04-15
          相关资源
          最近更新 更多