У меня есть приложение для Android с фоновым запуском службы.Android - как убедиться, что моя служба перезагружена?
Когда служба аварийно завершает работу или удаляется Android, я вижу, что Android пытается перезапустить ее снова.
Однако служба никогда не перезапускается, я вижу, что Android планирует перезапуск, но на самом деле это происходит на самом деле.
Мой код выглядит следующим образом:
@Override
public void onCreate() {
String ns = Context.NOTIFICATION_SERVICE;
mNotificationManager = (NotificationManager) getSystemService(ns);
mTelephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
audio_service = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
}
// This is the old onStart method that will be called on the pre-2.0
// platform. On 2.0 or later we override onStartCommand() so this
// method will not be called.
@Override
public void onStart(Intent intent, int startId) {
handleCommand(intent);
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
handleCommand(intent);
// We want this service to continue running until it is explicitly
// stopped, so return sticky.
return START_STICKY;
}
void handleCommand(Intent intent) {
running = true;
mTelephonyManager.listen(new IncomingListener(), PhoneStateListener.LISTEN_CALL_STATE);
}
Есть ли что-то не хватает в моем коде, чтобы разрешить службе перезапустить?
Да, я реализовал это, и это дало мне очень странное поведение, оно появилось в уведомлении, даже когда приложение и служба не должны были работать. Дело в том, что я попытался с помощью пустого метода onStart(), и служба, похоже, перезапустилась нормально. –
ok fine Donal ... – DeRagan