Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android Service Close unexpectedly

I have a service with a BroadcastReceiver which communicates with the activity through the method "exampleMethod()". This service start and work correctly but after a while it is stopped by Android and I have to restart it. it is possible to make sure that the service is not stopped for a long time?

public class SMS_Service extends Service{
    private BroadcastReceiver rec_sms = new BroadcastReceiver() {   
        @Override
        public void onReceive(Context context, Intent intent) {
               MainActivity.exampleMethod();
        }
    };

    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        // We want this service to continue running until it is explicitly
        // stopped, so return sticky.
        return START_STICKY;
    }
like image 649
user1905853 Avatar asked Dec 19 '25 13:12

user1905853


1 Answers

after a while Service is stopped by Android

The first thing that matters is that why your service is stopped by the android system,

When the user is directly interacting with a component of that process (that is an activity) Android will try very hard to keep that process running, and you won't see it killed except under extraordinary circumstances.

  • If it is due to low memory, then nothing could be done. When killing something for memory, the entire process (including the application object) is killed and no code executed in it at this point.

  • If the service is just being destroyed because it no longer needs to run, its onDestroy() will be called and when the service is later needed a new instance is created and onCreate() called.

Is it possible to make sure that the service is not stopped for a long time?

This is not possible. The closest you can get is via startForeground(), but not even that guarantees that your service will live forever.

Moreover, this is a serious anti-pattern in Android. Users hate applications that try to run forever, which is why we have to contend with task killers and the like.

like image 99
Sahil Mahajan Mj Avatar answered Dec 22 '25 04:12

Sahil Mahajan Mj



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!