我确实尝试了一些服务示例代码,并在设备上安装了相同代码并启动了应用程序。我尝试使用现在正在运行的adb命令列出此服务(可以在logcat中看到我的日志相同)
adb shell服务列表
但是,上面的命令只列出系统服务,但看不到我的服务。
所以,我的问题, 1.是否所有服务都需要注册服务经理,或者只是“系统服务” 2.如果我为这个相同的服务实现了aidl,它的行为就像系统服务(我的意思是,显示命令,如“adb shell服务列表”)
感谢阅读并感谢我对我的问题的任何回复
-regards, 馒头
答案 0 :(得分:1)
Android系统服务与您在应用中创建的服务类型不同。您无需担心它们不会出现在adb shell service list
中。
系统服务在手机的ROM中提供,是Android操作系统的核心部分,例如“surface flinger”(图形合成器),“包管理器”等。它们可以在Android框架内访问,以便典型的Android应用开发人员从不直接与他们联它们是基于一个简单的字符串查找的。 p>
普通服务继承自Service类,您可以使用Intent从应用程序代码中连接到它们,通常是Context.bindService。