I am looking at source code for the PackageManager
class and it is abstract as well as all the methods. Are manufacturers supposed to write a real implementation for it, or I am missing something?
相关问题
- How can I create this custom Bottom Navigation on
- Bottom Navigation View gets Shrink Down
- How to make that the snackbar action button be sho
- Listening to outgoing sms not working android
- How to create Circular view on android wear?
相关文章
- android开发 怎么把图片放入drawable的文件夹下
- android上如何获取/storage/emulated/下的文件列表
- androidStudio有个箭头不认识
- SQLite不能创建表
- Windows - Android SDK manager not listing any plat
- Animate Recycler View grid when number of columns
- Why is the app closing suddenly without showing an
- Android OverlayItem.setMarker(): Change the marker
For anyone stumbling upon this old question, go to the source (
android.googlesource.com
) https://android.googlesource.com/platform/frameworks/base/+/master/services/core/java/com/android/server/pm/PackageManagerService.java, grepcode is long gone.The real implementation for the PackageManager is PackageManagerService located at frameworks/base/services/java/com/android/server/
You can find the source code here in the GrepCode.
It is
ApplicationPackageManager
, and it is created inContextImpl.getPackageManager()
.PackageManager
is abstract and a concrete implementation needs to be provided in order to invoke instance methods. An implementation of this class can be found as a package private static class ofApplicationContext
which itself is available inContextImpl
. (For source code see here). Note that this implementation of PackageManager is final and so cannot be overriden.There is also a MockPackageManager implementation that might interest you.