Ace
Ace

Reputation: 77

Is there any way i can prevent my android app from killing?

i want to know that is there any way i can prevent my android app from killing from task manager. Whether it's any third party app, clears from ram manager or user clicks force stop. i just don't want kill my app from background, It should be running.

Upvotes: 3

Views: 1775

Answers (2)

Jai Mahlawat
Jai Mahlawat

Reputation: 47

How to disable the "Force Stop" button

Short answer: Use the Device Administration API.

How do I demonstrate that it works?

Yes, back to your job. Use the API link provided above and the Api Demos included in Google's sample collection to figure out how to integrate this into your app.

  1. Build the demo and run it on your device.
  2. Choose API Demos->App->Device Admin->General->Enable admin.
  3. Choose Activate once the Device Administration API prompts you with its enabling screen.
  4. Exit the app and attempt to manage the app via your device's settings menu (specifics for this step varies by device).
  5. When viewing the Api Demo's "app info" screen, you should see both Force Stop and Uninstall are disabled.

How do I do this in my own app?

Review DeviceAdminSample.java in the Api Demos app for inspiration. You will need the following:

The following code is what brings up the activation screen:

   // Launch the activity to have the user enable our admin.
   Intent intent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);
   intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, mDeviceAdminSample);
   intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION,
   mActivity.getString(R.string.add_admin_extra_app_text));
                startActivityForResult(intent, REQUEST_CODE_ENABLE_ADMIN);

However, there are a few other pieces you will need to get this to work:

  1. A broadcast receiver that derives from DeviceAdminReceiver.
  2. Entries in your manifest file that refer to the above broadcast receiver.
  3. Permissions in your manifest for using the Device Administrator API.
  4. An xml file stating what policies your app can access.

All of this can be found in the above links. Good luck with your client!

Upvotes: 2

rehman_00001
rehman_00001

Reputation: 1600

This might be a dirty way to do this. But it worked for me.

Just override onDestroy() method in service and start that service again.

@Override
public void onDestroy() {
    Intent intent = new Intent(this,YourService.class);
    startService(intent);
}

Upvotes: 0

Related Questions