快速设置启用ACTIVE_TILE时,在启动时处于ACTIVE状态

时间:2018-05-25 09:41:46

标签: android

当您使用META_DATA_ACTIVE_TILE时,onStartListening()TileService回调,当您调用TileService.requestListeningState()时,将触发更新Tile状态。

它可以工作,但是当设备启动时,Tile处于ACTIVE状态,直到您单击它。如果未设置ACTIVE_TILE,则磁贴在引导时保持INACTIVE状态。

如何解决?

Android 7.1.2

1 个答案:

答案 0 :(得分:2)

我认为在这种情况下文档并不清楚。我遇到了同样的问题,经过几次尝试,我找到了解决方案。

清单仍然存在:

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

然后在quickTileService中覆盖onBind并调用RequestListeningState:

override fun onBind(intent: Intent?): IBinder {
    TileService.requestListeningState(this,
            ComponentName(this, QSTileService::class.java))
    return super.onBind(intent)
}

在onStartListening上你可以更新你的磁贴:

override fun onStartListening() {
    super.onStartListening()
    updateTile()
}