android:name ------------- 服务类名
android:label -------------- 服务的名字,如果此项不设置,那么默认显示的服务名则为类名
android:icon -------------- 服务的图标
android:permission ------- 申明此服务的权限,这意味着只有提供了该权限的应用才能控制或连接此服务
android:process ---------- 表示该服务是否运行在另外一个进程,如果设置了此项,那么将会在包名后面加上这段字符串表示另一进程的名字
android:enabled ---------- 如果此项设置为 true,那么 Service 将会默认被系统启动,不设置默认此项为 false
android:exported --------- 表示该服务是否能够被其他应用程序所控制或连接,不设置默认此项为 false
可以将service分为以下2类:
1) . 应用程序服务:基于Android SDK的应用程序服务,需要通过继承service来实现,如com.qihoo360.mobilesafe:GuardService。它又可以分为本地服务(注意和本地系统服务的区别)和远程服务。
(1) 本地服务:
和activity处于同一进程,当activity所在的应用程序终止,这个服务也终止了;
继承自service,通过bindService 或者startService来绑定;
在AndroidMenifest.xml中,不用android:process=":remote"
(2) 远程服务:
与activity的进程不是同一个进程,activity所在的应用终止,并不会终止远程服务。
需要通过Android的binder IPC机制来绑定。
在AndroidMenifest.xml中,必须用android:process=":remote"