I know that some peoples view is that you should not create persistent services.
But for those of us that want to increase our knowledge, how does one go about creating one in theory?
I have been playing around, and noticed that services that use startForeground are killed in low memory situations.
I have seen a, now deprecated, permission PERSISTENT_ACTIVITY
, but that didn't do much.
So what is the secret?
The Persistence service consists of service specific parts and parts necessary for fulfilling the functionality. The latter parts can be implemented once whereas the service specific parts are generated out of an abstract description of a service using the Persistence service.
Persistent Systems Limited is a global company specializing in software products services and technology innovation. The company offers complete product life cycle services.
Persistent Systems is an Indian multinational technology services company which was incorporated on 16 May 1990 as Persistent Systems Private Limited.
You can only make your service persistent if you are developing system apps. These services will be basically un-killable, and are labeled as "PERS" in the output of the "adb shell dumpsys activity" command. It's not very well documented, so I did a quick write-up on Persistent services in Android...hopefully it will help some people out.
But for non-system apps, startForeground is your best option.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With