Most visited

Recently visited

Added in API level 24

ConditionProviderService

public abstract class ConditionProviderService
extends Service

java.lang.Object
   ↳ android.content.Context
     ↳ android.content.ContextWrapper
       ↳ android.app.Service
         ↳ android.service.notification.ConditionProviderService


提供关于布尔状态的条件的服务。

要扩展此类,您必须在清单文件中声明服务, BIND_CONDITION_PROVIDER_SERVICE具有BIND_CONDITION_PROVIDER_SERVICE权限,并包含一个意向过滤器和SERVICE_INTERFACE操作。 如果您希望用户能够创建和更新此服务要监控的条件,请包括META_DATA_RULE_TYPEMETA_DATA_CONFIGURATION_ACTIVITY标签并请求ACCESS_NOTIFICATION_POLICY权限。 例如:

 <service android:name=".MyConditionProvider"
          android:label="@string/service_name"
          android:permission="android.permission.BIND_CONDITION_PROVIDER_SERVICE">
     <intent-filter>
         <action android:name="android.service.notification.ConditionProviderService" />
     </intent-filter>
     <meta-data
               android:name="android.service.zen.automatic.ruleType"
               android:value="@string/my_condition_rule">
           </meta-data>
           <meta-data
               android:name="android.service.zen.automatic.configurationActivity"
               android:value="com.my.package/.MyConditionConfigurationActivity">
           </meta-data>
 </service>

Summary

Constants

String EXTRA_RULE_ID

一个字符串规则ID额外传递给 META_DATA_CONFIGURATION_ACTIVITY

String META_DATA_CONFIGURATION_ACTIVITY

该名称 meta-data包含标签 ComponentName的活动,允许用户配置该服务提供了条件。

String META_DATA_RULE_INSTANCE_LIMIT

包含可为此规则类型创建的最大规则实例数的 meta-data标记的名称。

String META_DATA_RULE_TYPE

包含此服务提供的禅宗类型的本地化名称的 meta-data标记的名称。

String SERVICE_INTERFACE

必须声明为由服务处理的 Intent

Inherited constants

From class android.app.Service
From class android.content.Context
From interface android.content.ComponentCallbacks2

Public constructors

ConditionProviderService()

Public methods

final void notifyCondition(Condition condition)

通知通知管理器状态的状态已更改。

final void notifyConditions(Condition... conditions)

通知通知管理员一个或多个条件的状态已更改。

IBinder onBind(Intent intent)

将通信信道返回给服务。

abstract void onConnected()

当此服务连接时调用。

void onRequestConditions(int relevance)
abstract void onSubscribe(Uri conditionId)

当由此提供者管理新的 Condition时,由系统调用。

abstract void onUnsubscribe(Uri conditionId)

Condition已被删除时由系统调用。

Inherited methods

From class android.app.Service
From class android.content.ContextWrapper
From class android.content.Context
From class java.lang.Object
From interface android.content.ComponentCallbacks2
From interface android.content.ComponentCallbacks

Constants

EXTRA_RULE_ID

Added in API level 24
String EXTRA_RULE_ID

一个字符串规则ID额外传递给 META_DATA_CONFIGURATION_ACTIVITY

常量值:“android.service.notification.extra.RULE_ID”

META_DATA_CONFIGURATION_ACTIVITY

Added in API level 24
String META_DATA_CONFIGURATION_ACTIVITY

该名称 meta-data包含标签 ComponentName的活动,允许用户配置该服务提供了条件。

常量值:“android.service.zen.automatic.configurationActivity”

META_DATA_RULE_INSTANCE_LIMIT

Added in API level 24
String META_DATA_RULE_INSTANCE_LIMIT

包含可为此规则类型创建的最大规则实例数的meta-data标记的名称。 省略或输入值<= 0以允许无限制的实例。

常量值:“android.service.zen.automatic.ruleInstanceLimit”

META_DATA_RULE_TYPE

Added in API level 24
String META_DATA_RULE_TYPE

包含此服务提供的禅宗类型的本地化名称的 meta-data标记的名称。

常量值:“android.service.zen.automatic.ruleType”

SERVICE_INTERFACE

Added in API level 24
String SERVICE_INTERFACE

必须声明为由服务处理的 Intent

常量值:“android.service.notification.ConditionProviderService”

Public constructors

ConditionProviderService

Added in API level 24
ConditionProviderService ()

Public methods

notifyCondition

Added in API level 24
void notifyCondition (Condition condition)

通知通知管理器状态的状态已更改。 使用此方法使系统进入免打扰模式或请求退出免打扰模式。 此呼叫将被忽略,除非AutomaticZenRule的服务拥有的getConditionId()等于id

Parameters
condition Condition: the condition that has changed.

notifyConditions

Added in API level 24
void notifyConditions (Condition... conditions)

通知通知管理员一个或多个条件的状态已更改。 有关限制,请参阅notifyCondition(Condition)

Parameters
conditions Condition: the changed conditions.

onBind

Added in API level 24
IBinder onBind (Intent intent)

将通信信道返回给服务。 如果客户端无法绑定到服务,可能会返回null。 返回IBinder通常是一个复杂的界面已经described using aidl

请注意,与其他应用程序组件不同,此处返回的IBinder接口调用可能不会发生在进程的主线程上 有关主线程的更多信息可以在Processes and Threads中找到。

Parameters
intent Intent: The Intent that was used to bind to this service, as given to Context.bindService. Note that any extras that were included with the Intent at that point will not be seen here.
Returns
IBinder Return an IBinder through which clients can call on to the service.

onConnected

Added in API level 24
void onConnected ()

当此服务连接时调用。

onRequestConditions

Added in API level 24
void onRequestConditions (int relevance)

Parameters
relevance int

onSubscribe

Added in API level 24
void onSubscribe (Uri conditionId)

当有新的 Condition由该提供者管理时,由系统调用。

Parameters
conditionId Uri: the Uri describing the criteria of the condition.

onUnsubscribe

Added in API level 24
void onUnsubscribe (Uri conditionId)

Condition已被删除时由系统调用。

Parameters
conditionId Uri: the Uri describing the criteria of the deleted condition.

Hooray!