我目前正在学习如何在android上创建和使用服务.我看了android SDK以获得进一步的帮助,我发现了android:enable = [true | 错误的].
在SDK中说:
和属性必须都是"true"(因为它们都是默认值)才能启用服务.如果其中任何一个为"假",则禁用该服务; 它无法实例化.
所以我想知道/为什么(一般情况下)的兴趣是什么?
将应用程序设置为"false".
将服务启用设置为"false".
我说如果我们把服务启用设为false就无法调用该服务,那么我们为什么要首先创建该服务呢?
谢谢,抱歉这么长的消息.
将应用程序设置为"false".
我知道没有充分理由这样做.
我说如果我们把服务启用设为false就无法调用该服务,那么我们为什么要首先创建该服务呢?
一般来说,这是事实.android:enabled
实际上,它是为所有组件继承的,因此它不是唯一的服务.以下是可能使用它的场景:
活动:您希望在启动器中有第二个图标,但仅当用户通过应用内购买购买时(例如,升级到"专业版"功能)
BroadcastReceiver:你希望在启动时获得控制权ACTION_BOOT_COMPLETED
,但是你不需要一直这样做
服务和ContentProvider:您拥有一系列应用程序,您只需要(并希望)服务/内容提供商的一个实现即可,即使用户安装了多个来自您家庭的应用程序
在这些情况下,您可能android:enabled="false"
在清单中具有disabled()组件,并在以后使用PackageManager
和setComponentEnabledSetting()
有条件地启用它们.
新的SAF(存储访问框架)是使用android:enabled属性的一个很好的例子. http://developer.android.com/guide/topics/providers/document-provider.html
该机器人:启用属性设置为一个资源文件中定义一个布尔值.此属性的目的是在运行Android 4.3或更低版本的设备上禁用提供程序.例如,
android:enabled="@bool/atLeastKitKat"
除了在清单中包含此属性之外,还需要执行以下操作:在res/values /下的bool.xml资源文件中,添加以下行:
false
在res/values-v19 /下的bool.xml资源文件中,添加以下行:
true