Search code examples
androidservicereceiver

android:enable and services


I m currently learning how create and use services on android. I looked on the android SDK for further help and i found the android:enable=[true | false].

in the SDK is said that:

The <application> and <service> attributes must both be "true" (as they both are by default) for the service to be enabled. If either is "false", the service is disabled; it cannot be instantiated.

So i would like to know what is the interest of/ why (in general)

  • setting the application enables as "false".
  • setting the service enable as "false".

I say that if we put service enable as false there is no way to call that service, so why we create that service in the first place?

Thank you and sorry for such long message.


Solution

  • New SAF(Storage Access Framework) is a good example of use of android:enabled attribute. http://developer.android.com/guide/topics/providers/document-provider.html

    The android:enabled attribute set to a boolean value defined in a resource file. The purpose of this attribute is to disable the provider on devices running Android 4.3 or lower. For example,

    android:enabled="@bool/atLeastKitKat" 
    

    In addition to including this attribute in the manifest, you need to do the following: In your bool.xml resources file under res/values/, add this line:

    <bool name="atLeastKitKat">false</bool> 
    

    In your bool.xml resources file under res/values-v19/, add this line:

    <bool name="atLeastKitKat">true</bool>