在我的项目中,android服务是与串行设备的通信,并且在收到BOOT_COMPLETED广播时正在启动。偶尔我想绑定到服务以进行持久连接。取消绑定后,服务似乎重新启动,这在与串行设备通信时不太理想。
在服务中:
@Override
public IBinder onBind(Intent intent)
{
Log.d(TAG, "onBind");
return messenger.getBinder();
}
@Override
public int onStartCommand(Intent intent, int flags, int startId)
{
...
return START_STICKY;
}
活动:
@Override
protected void onStart()
{
super.onStart();
bindService(new Intent(this, BMWiService.class), serviceConnection, Context.BIND_AUTO_CREATE);
}
@Override
protected void onStop()
{
super.onStop();
if (serviceBound)
{
unbindService(serviceConnection);
serviceBound = false;
}
}
答案 0 :(得分:1)
在绑定
之前调用startService()来启动服务