使用onSlicePinned

时间:2019-06-25 12:10:28

标签: android app-actions android-slices

由于无法在 onBindSlice()内完成长时间的操作,因此,我要从 onSlicePinned()方法从服务器中获取数据,然后将其显示在切片中。但是我不知道何时调用此函数。

我以为每次我们重新启动助手时都会调用它(即杀死它后启动助手)。在Slice-Viewer应用程序上进行测试时,它可以正常工作,每次我杀死Slice Viewer并重新启动时,都会与 onSliceBind()一起调用 onSlicePinned (),但万一不能Google Assistant。那么,这是错误还是应该如此? 如果这是 onSlicePinned()的工作方式,那么启动应用程序后每次调用 onBindSlice()时,我有什么方法可以获取数据。

1 个答案:

答案 0 :(得分:0)

要将内容从服务器加载到Slice中,您应遵循此处的延迟内容最佳做法:

https://developer.android.com/guide/slices/templates#delayed_content

tl; dr是,您应该立即返回一些内容,然后关闭并加载/处理您的内容,一旦内容准备好,请致电notifyChange(),这将导致onBindSlice()被再次调用您可以返回包含新内容的切片。