Most visited

Recently visited

Added in API level 24

TileService

public class TileService
extends Service

java.lang.Object
   ↳ android.content.Context
     ↳ android.content.ContextWrapper
       ↳ android.app.Service
         ↳ android.service.quicksettings.TileService


TileService为用户提供了一个可添加到快速设置的图块。 “快速设置”是提供的空间,允许用户更改设置并快速执行操作,而无需离开当前应用程序的上下文。

TileService的生命周期与其他一些服务的不同之处在于它可能在其生命周期的部分阶段中解除绑定。 以下任何生命周期事件都可以在独立绑定/创建服务中独立发生。

TileService将通过匹配.ACTION_QS_TILE的图块进行检测,并且需要“android.permission.BIND_QUICK_SETTINGS_TILE”权限。 该服务的标签和图标将用作该图块的默认标签和图标。 这是一个TileService声明的例子。

 <service
     android:name=".MyQSTileService"
     android:label="@string/my_default_tile_label"
     android:icon="@drawable/my_default_icon_label"
     android:permission="android.permission.BIND_QUICK_SETTINGS_TILE">
     <intent-filter>
         <action android:name="android.service.quicksettings.action.QS_TILE" />
     </intent-filter>
 </service>
 

也可以看看:

Summary

Constants

String ACTION_QS_TILE

将服务标识为TileService的操作。

String ACTION_QS_TILE_PREFERENCES

提供用于调整TileService首选项的用户界面的活动。

String META_DATA_ACTIVE_TILE

图块定义的元数据将图块设置为活动模式。

Inherited constants

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

Public constructors

TileService()

Public methods

final Tile getQsTile()

获取此服务的 Tile

final boolean isLocked()

检查是否显示锁定屏幕。

final boolean isSecure()

检查设备是否处于安全状态。

IBinder onBind(Intent intent)

将通信信道返回给服务。

void onClick()

当用户点击此图块时调用。

void onDestroy()

由系统调用以通知服务它已不再使用并正在被删除。

void onStartListening()

当此图块移入侦听状态时调用。

void onStopListening()

当此图块移出侦听状态时调用。

void onTileAdded()

当用户将此图块添加到快速设置时调用。

void onTileRemoved()

当用户从快速设置中删除此图块时调用。

static final void requestListeningState(Context context, ComponentName component)

请求磁贴处于侦听状态,以便发送更新。

final void showDialog(Dialog dialog)

用于显示对话框。

final void startActivityAndCollapse(Intent intent)

在折叠面板时开始一项活动。

final void unlockAndRun(Runnable runnable)

在执行Runnable之前提示用户解锁设备。

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

ACTION_QS_TILE

Added in API level 24
String ACTION_QS_TILE

将服务标识为TileService的操作。

常量值:“android.service.quicksettings.action.QS_TILE”

ACTION_QS_TILE_PREFERENCES

Added in API level 24
String ACTION_QS_TILE_PREFERENCES

提供用于调整TileService首选项的用户界面的活动。 可选,但建议用于实现TileService的应用程序。

常量值:“android.service.quicksettings.action.QS_TILE_PREFERENCES”

META_DATA_ACTIVE_TILE

Added in API level 24
String META_DATA_ACTIVE_TILE

图块定义的元数据将图块设置为活动模式。

主动模式适用于已经侦听并在自己的进程中跟踪其状态的磁贴。 这些requestListeningState(Context, ComponentName)贴可能会要求在系统使用requestListeningState(Context, ComponentName)时将更新发送到系统。 系统只会在需要发生点击时自行绑定这些图块。 要使TileService成为活动切片,请在TileService的清单声明中将此元数据设置为true。

 <meta-data android:name="android.service.quicksettings.ACTIVE_TILE"
      android:value="true" />
 
 

常量值:“android.service.quicksettings.ACTIVE_TILE”

Public constructors

TileService

Added in API level 24
TileService ()

Public methods

getQsTile

Added in API level 24
Tile getQsTile ()

获取此服务的 Tile

This tile may be used to get or set the current state for this tile. This tile is only valid for updates between onStartListening() and onStopListening().

Returns
Tile

isLocked

Added in API level 24
boolean isLocked ()

检查是否显示锁定屏幕。 当设备被锁定时, showDialog(Dialog)将不会显示对话框,因为它将在锁定屏幕下。 如果Tile在锁定时的行为是安全的,那么用户应该使用startActivity(Intent)在锁定屏幕上启动一个活动,否则该tile应该使用unlockAndRun(Runnable)来为用户提供他们的安全挑战。

Returns
boolean true if the device is locked.

isSecure

Added in API level 24
boolean isSecure ()

检查设备是否处于安全状态。 TileServices应该检测设备何时安全并相应地改变其行为。

Returns
boolean true if the device is secure.

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.

onClick

Added in API level 24
void onClick ()

当用户点击此图块时调用。

onDestroy

Added in API level 24
void onDestroy ()

由系统调用以通知服务它已不再使用并正在被删除。 这个服务应该清理它所拥有的任何资源(线程,注册接收者等)。 返回后,将不会有更多的调用这个服务对象,它实际上已经死了。 不要直接调用这个方法。

onStartListening

Added in API level 24
void onStartListening ()

当此图块移入侦听状态时调用。

When this tile is in a listening state it is expected to keep the UI up to date. Any listeners or callbacks needed to keep this tile up to date should be registered here and unregistered in onStopListening().

也可以看看:

onStopListening

Added in API level 24
void onStopListening ()

当此图块移出侦听状态时调用。

onTileAdded

Added in API level 24
void onTileAdded ()

当用户将此图块添加到快速设置时调用。

Note that this is not guaranteed to be called between onCreate() and onStartListening(), it will only be called when the tile is added and not on subsequent binds.

onTileRemoved

Added in API level 24
void onTileRemoved ()

当用户从快速设置中删除此图块时调用。

requestListeningState

Added in API level 24
void requestListeningState (Context context, 
                ComponentName component)

请求磁贴处于侦听状态,以便发送更新。 此方法仅适用于在其TileService清单声明META_DATA_ACTIVE_TILE定义为true的图块,否则将不执行任何操作。

Parameters
context Context
component ComponentName

showDialog

Added in API level 24
void showDialog (Dialog dialog)

用于显示对话框。 这将折叠“快速设置”面板并显示对话框。

Parameters
dialog Dialog: Dialog to show.

也可以看看:

startActivityAndCollapse

Added in API level 24
void startActivityAndCollapse (Intent intent)

在折叠面板时开始一项活动。

Parameters
intent Intent

unlockAndRun

Added in API level 24
void unlockAndRun (Runnable runnable)

在执行Runnable之前提示用户解锁设备。

如果适用,将提示用户提供当前的安全方法,如果成功,则会执行可运行的程序。 如果用户未能解锁设备或取消操作,Runnable将不会执行。

Parameters
runnable Runnable

Hooray!