1.startService 注册方式:
<serviceandroid:name="Class.Name">
<intent-filter>
<actionandroid:name="serviceName"/>
<categoryandroid:name="android.intent.category.DEFAULT"/>
</intent-filter>
</service>
启动方式:startService(new Intent(serviceName))
生命周期:service启动后,不绑定调用者。调用者消亡,service仍存在于后台;只有stopService(new Intent(serviceName)) 才可以杀死service
binderService 注册方式:
<serviceandroid:name="Clas.Name"></service>
启动方式:
private Class.Name _service;
ServiceConnection connect = new ServiceConnection() {
@Override
publicvoid onServiceDisconnected(ComponentName arg0) {
_service = null;
}
@Override
publicvoid onServiceConnected(ComponentName arg0, IBinder service) {
_service = ((Class.Name.LocalBinder)service).getService();
}
};
bindService(new Intent(this,"Class.Name", connect, Context.BIND_AUTO_CREATE);
生命周期:service启动后, 绑定调用者,调用者消亡,service也消亡,调用者也可以unbindService(connect)来终止service
2.startService与binderService的区别:startService的使用简单,适合service于调用者之间没有交互的场景。binderService操作复杂,但是比较灵活,可以获取service对象,对service进行管控操作。
本文详细介绍了 Android 中 Service 的两种使用方式:startService 和 binderService。startService 方式简单易用,适用于无需交互的场景;binderService 方式虽操作复杂但更灵活,允许调用者直接管理 Service 的生命周期。
2757

被折叠的 条评论
为什么被折叠?



