我们正在尝试使我们的Android TV应用程序与Android 9(Pie)一起使用。我们在android.support.v17.leanback.app.PlaybackSupportFragment中的tickle()遇到了一些问题。
为了测试这一点,我们使用了仿真器。
方案:视频正在全屏播放(使用exoplayer),我们要访问PlaybackControlsRow(后备倾斜)。这是通过箭头按钮完成的。
操作:按下向下箭头按钮
预期(Android 8及更低版本):调用tickle(),并且PlaybackControlsRow变得可见且可访问。
实际(Android 9):未调用tickle()。什么都没发生。 (击键已在ViewGroup类中注册,但没有到达片段。)未检测到错误日志条目。
但是:如果按下Tab键(什么都没有发生),然后按下向下箭头按钮,则将开始调用tickle()进行箭头键击,直到离开该视频为止。
Pie中发生了什么导致这种情况?我们该如何解决?
我们实际使用的是我们创建的PlaybackSupportFragment的子类。在子类中,我们称为getView()。requestFocus();。在onResume()方法中。删除它无济于事。