当前位置:  开发笔记 > 前端 > 正文

android:启用和服务

如何解决《android:启用和服务》经验,为你挑选了2个好方法。

我目前正在学习如何在android上创建和使用服务.我看了android SDK以获得进一步的帮助,我发现了android:enable = [true | 错误的].

在SDK中说:

和属性必须都是"true"(因为它们都是默认值)才能启用服务.如果其中任何一个为"假",则禁用该服务; 它无法实例化.

所以我想知道/为什么(一般情况下)的兴趣是什么?

将应用程序设置为"false".

将服务启用设置为"false".

我说如果我们把服务启用设为false就无法调用该服务,那么我们为什么要首先创建该服务呢?

谢谢,抱歉这么长的消息.



1> CommonsWare..:

将应用程序设置为"false".

我知道没有充分理由这样做.

我说如果我们把服务启用设为false就无法调用该服务,那么我们为什么要首先创建该服务呢?

一般来说,这是事实.android:enabled实际上,它是为所有组件继承的,因此它不是唯一的服务.以下是可能使用它的场景:

活动:您希望在启动器中有第二个图标,但仅当用户通过应用内购买购买时(例如,升级到"专业版"功能)

BroadcastReceiver:你希望在启动时获得控制权ACTION_BOOT_COMPLETED,但是你不需要一直这样做

服务ContentProvider:您拥有一系列应用程序,您只需要(并希望)服务/内容提供商的一个实现即可,即使用户安装了多个来自您家庭的应用程序

在这些情况下,您可能android:enabled="false"在清单中具有disabled()组件,并在以后使用PackageManagersetComponentEnabledSetting()有条件地启用它们.



2> Vivart..:

新的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

推荐阅读
mobiledu2402852413
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有