Minggu, 21 Juni 2015

How to force kill a service programmatically in Android

How to force kill a service programmatically in Android - The Surface Laptop isn't the most affordable but it's not outrageously expensive compared to rivals. Microsoft has done a great job of creating a well-made, thin and desirable laptop. We'd tweak the ports on offer and upgrade from Windows 10 S to Pro, but we can live with the niggles considering the specs and excellent battery life. immediately familiar to anyone, well we have collected a lot of data from the field directly and from many other blogs so very complete his discussion here about How to force kill a service programmatically in Android, on this blog we also have to provide the latest automotive information from all the brands associated with the automobile. ok please continue reading:

Hey there,

Its been so annoying when our own created service will refuse to stop or restarts automatically when we call stopService.

As you are querying for,if you wanna know

http://hoezaay.blogspot.com /2015/06/how-to-debug-a-service-in-android.html" target="_blank">How to debug a service in Android(Even if it is an isolated process).Click Me.

Introduction - Use Cases

  • When we call stopService function,the service's onDestroy function will be executed and what ever code we wrote on that function will be executed like toasting,logging,etc.But, how in the world to make it stop,when it is already executing some codes in another thread.
  • Some techies may refer to put the return value of onStart function to START_NOT_STICKY.So that this tells the operating system,not to restart the service after a user stops it or operating system itself kills the service due to low memory or something else.But sometimes,the worst scenario is even after stopping the service which returns START_NOT_STICKY in onStart function,may not be destroyed when some codes are being executed in another thread or may not exit even if the service do nothing.
Steps - How to force kill a service programmatically,so that it will not be restarted or will not keep running on in Android
  • As i already stated in my http://hoezaay.blogspot.com /2015/06/how-to-debug-a-service-in-android.html" target="_blank">previous post.This is also just a matter of single line code.
  • Paste the below code into your service's onDestroy function.
Process.killProcess(Process.myPid());

  • The above line of code will kill the service by querying its own process ID and tells the operating system to kill it ungracefully.
  • Go to your activity(GUI of your android application) and try calling stopService and see the magic.
  • Hope you can see the below picture for better understanding.

Drawbacks
  • As you already the above code will forcefully kill the service from execution,so that you may want to take care that if any other asynchronous thread working in the background will be forcefully killed and any operation like writing to file or database or uploading image to server or encoding or decoding image or videos on that thread will be killed ungracefully.
  • It might corrupt your files or ruin your server while uploading,etc.
  • Sometimes onDestroy function may not be called,when you use stopService to stop the service.So that you can create a custom function in the service,so that you can call that function from your activity by binding intents.(Any queries about this can be solved in comments.).
Its better to stop a service by using a global static variable so that the service can kill itself giving threads to stop by itself.This makes a clean ending for your android service.I am on the way to create a post on the mentioned topic.It will be here as soon as possible.

Enjoy killing service...:)

Tidak ada komentar:

Posting Komentar