我需要显示更多的数据,而不是切片可以显示的数据,因此我使用了setSeeMoreAction(PendingIntent intent)方法,该方法在切片的末尾添加了“查看更多”功能,我们可以设置在点击时调用哪个操作在PendingIntent的帮助下。
在slice-viewer应用程序上测试切片时,我可以看到“显示更多”功能,并单击可以正常使用的功能,但是当我使用“ App Actions测试工具”对其进行测试时,它不会显示此“查看更多”。相反,有时(虽然有时什么都没有显示)显示一个“打开应用程序”按钮,单击该按钮不会触发我在setSeeMoreAction中提到的未决意图,而是触发RowBuilder的setPrimaryAction()中提到的SliceAction。
这是我的代码:
override fun onBindSlice(sliceUri: Uri): Slice? {
if(!isLoggedIn()) // if user is not logged in
{
return createLoginSlice(sliceUri).build()
}
var head = ListBuilder.HeaderBuilder()
.setTitle("Slice Title")
var slice = ListBuilder(context,sliceUri,ListBuilder.INFINITY)
.setSeeMoreAction(orderActivityPendingIntent())
.setHeader(head)
for(i in 0 .. 6) {
icon = IconCompat.createWithResource(context.applicationContext, R.drawable.placeholder)
var row = ListBuilder.RowBuilder()
.setTitleItem(icon!!,ListBuilder.LARGE_IMAGE,true)
.setTitle(orderName.get(i),true)
.setSubtitle(orderStatus.get(i),true)
.addEndItem(IconCompat.createWithResource(context, colorScheme.get(i)),ListBuilder.SMALL_IMAGE)
.setPrimaryAction(openOrderActivity(orderId.get(i)))
slice.addRow(row)
}
return slice.build()
}
@RequiresApi(Build.VERSION_CODES.KITKAT)
private fun openOrderActivity(orderNo: String?): SliceAction {
val intent = Intent(Intent.ACTION_VIEW,
Uri.parse(context.getString(R.string.orderURI)+orderNo))
return SliceAction.create(
PendingIntent.getActivity(context, 0, intent, 0),
IconCompat.createWithResource(context, R.drawable.abc_ic_star_black_36dp),
ListBuilder.ICON_IMAGE,
"Open Order Activity."
)
}
private fun orderActivityPendingIntent(): PendingIntent {
// create intent for order page here
val intent = Intent(Intent.ACTION_VIEW, Uri.parse(context.getString(R.string.orderPageURI)))
return PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT)
}
答案 0 :(得分:0)
根据docs(尽管很容易错过):
如果无法显示切片中的所有内容,则可能 在内容被截断的地方显示。
(键为“ 可能”)。
基本上,取决于显示“切片”的应用程序(在本例中为Google Assistant)是否显示“查看更多”功能。对于Assistant,它可能不会显示,因为它会自动在显示的每个Slice上附加一个“打开应用程序”按钮,因此您应该使用该按钮链接用户以查看更多信息或采取进一步措施。
如果您认为“查看更多”在您的情况下很有用,则可以提交feature request的App Actions + Slices来支持他以及使用案例的详细信息。