当您使用META_DATA_ACTIVE_TILE时,onStartListening()TileService回调,当您调用TileService.requestListeningState()时,将触发更新Tile状态。
它可以工作,但是当设备启动时,Tile处于ACTIVE状态,直到您单击它。如果未设置ACTIVE_TILE,则磁贴在引导时保持INACTIVE状态。
如何解决?
Android 7.1.2
答案 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()
}