How setComponentEnabledSetting works?

时间:2017-08-04 12:02:54

标签: android android-service

I have enabled service in my AndroidManifest.xml. And I want to disable it from my code:

getPackageManager().setComponentEnabledSetting(
    serviceName, 
    PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
    PackageManager.DONT_KILL_APP);

If I disable the service like above, will it be disabled forever? Or not?

2 个答案:

答案 0 :(得分:3)

It will be disabled until you enable it or the user uninstalls your app.

答案 1 :(得分:3)

Yes, settings are persistent until reinstall (delete application, install again) or new value is set again with setComponentEnabledSetting(). Additionally, as a border case, someone with super-user privileges can reset your app.

Please read this answer for details.