简而言之,我正在寻找IAlarmManager的实现。
我对AlarmManager.setInexactRepeating方法完成的调度很感兴趣,所以我开始寻找实现,但我找不到任何东西。在AlarmManager的内部,我可以看到实际的工作是由android.app.IAlarmManager接口完成的。在谷歌搜索了一下后,似乎引用了一个名为android.app.IAlarmManager.Stub的实现类,但这是我得到的。 我正在使用Android 1.6。
答案 0 :(得分:5)
IAlarmManager
是AIDL接口 - 用于远程Service
的RPC调用。
IAlarmManager.Stub
是嵌套的静态类,用于获取和引用远程服务 - 您将通过接口公开的Service
将扩展* .Stub类。
有关使用AIDL的更多信息,请查看此处:http://developer.android.com/guide/developing/tools/aidl.html
您正在寻找的具体服务称为AlarmManagerService
。您可以在此处找到其源代码和setInexactRepeating()
的实现:https://android.googlesource.com/platform/frameworks/base/+/froyo-release/services/java/com/android/server/AlarmManagerService.java
希望有所帮助。