1

If I have an app that does not have any activities, just one BOOT_COMPLETED broadcast receiver and the simplest service. The receiver will just start the service and the service will just ran the following code:

public class ScreenStateService extends Service {

    @Override
    public IBinder onBind(Intent arg0) {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        return START_STICKY;
    }

    @Override
    public void onCreate() {
        super.onCreate();
    }

}

As as I understand, the service would ran until the end of time or until one of the following scenarios occurr:

  1. Low memory: The system is running low on memory so it decides to stop the service.
  2. ANR
  3. The user manually stops the application or disables it.

In 1 and 2 the system would start the service again, after memory is no longer low or after the error is handled. In the case of 3 it wont be started again.

The question is: is the above right? Are there any other cases where the service would be stopped by an outside source? Please specify if it would be started again automatically if there are any.

Storo
  • 988
  • 1
  • 7
  • 31

0 Answers0