Java 如何添加未知字段的字段掩码';21';在爪哇

Java 如何添加未知字段的字段掩码';21';在爪哇,java,protocol-buffers,dialogflow-es,Java,Protocol Buffers,Dialogflow Es,我正在Java库(v2)中使用dialogflow 我发现Intent对象没有“将此Intent设置为对话结束”的方法 我发现“对话结束”字段的名称是21,值是1 因此,我使用.addpath(“未知\u字段”)创建了未知字段集和字段掩码 但在更新意图之后,什么都没有改变 当我从更新意图中删除.setFieldMask(FieldMask FieldMask)时,值已更改 如何使用FieldMask更改未知字段21 UnknownFieldSet unknownFieldSet = Unknow

我正在Java库(v2)中使用dialogflow

我发现Intent对象没有“将此Intent设置为对话结束”的方法

我发现“对话结束”字段的名称是
21
,值是
1

因此,我使用
.addpath(“未知\u字段”)
创建了
未知字段集
字段掩码

但在更新意图之后,什么都没有改变

当我从更新意图中删除
.setFieldMask(FieldMask FieldMask)
时,值已更改

如何使用
FieldMask
更改未知字段
21

UnknownFieldSet unknownFieldSet = UnknownFieldSet.newBuilder()
        .addField(21, Field.newBuilder().addVarint(1).build())
        .build();

FieldMask updateFieldMask = FieldMask.newBuilder()
        .addPaths("unknown_fields")
        .build();

Intent updateIntent = Intent.newBuilder()
        .setName(newIntent.getName())
        .setUnknownFields(unknownFieldSet)
        .build();

听起来你好像在找和


如果这不起作用,那么你所做的可能就是不可能的——用
FieldMask
而不是直接用字段号来做。

谢谢你的回答。我试过你的建议,但它显示出我的不正当理由。也许它不能像你说的那样修改。我发现v2不支持endInteraction值。。。因此,我将dialogflow.v2更改为dialogflow.v2beta1。现在我可以使用setEndInteraction(布尔值)。