2014-08-27 2 views
0

В моем проекте android-сервис - связь с последовательным устройством, и он запускается при получении BOOT_COMPLETED. Иногда я хочу привязываться к службе для постоянного соединения. После развязки служба, похоже, перезагружается, что не очень желательно при связи с последовательным устройством.Почему служба Android сбрасывается после того, как был вызван unbind?

В службе:

@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

начать службу непосредственно перед обязательным – pskink

+0

Это время началось, когда Андроид загружается. Я также попытался запустить его до привязки, но сервис все еще перезапускается после unbind. –

+1

странно, его не следует перезаряжать, попробуйте выполнить тестирование, чтобы удалить фильтр намерения BOOT_COMPLETED и посмотреть, что произойдет, кстати, вы явно вызываете startService перед привязкой или используете флаг auto create? – pskink

ответ

1

начать свой сервис с помощью вызова StartService() как раз перед переплетом

Смежные вопросы