Как передать Input для handle () и как вызвать handle () из LaunchRequestHandler в alexa SDK V2 для Java? - PullRequest
0 голосов
/ 24 декабря 2018

Я мигрирую в ASK SDK v2 для Java, где в SDK v2 каждый случай onLaunch, onSessionEnded и ontIntent разделен на другой обработчик.

Вопрос:

Как передать мой ввод в handle(HandlerInput input) из LaunchRequestHandler и как вызвать handle(HandlerInput input) из LaunchRequestHandler из моего кода?

Также, в V2 SpeechletRequestEnvelope класс был удаленкак создать requestEnvelope, чтобы получить Request и Session подробности?

public class LaunchRequestHandler implements RequestHandler {
  @Override
  public boolean canHandle(HandlerInput input) {
    return input.matches(Predicates.requestType(LaunchRequest.class));
  }

  @Override
  public Optional<Response> handle(HandlerInput input) {
  String speechText = "Welcome to the Alexa Skills Kit, you can say hello";
    return input.getResponseBuilder()
        .withSpeech(inputString)
        .withSimpleCard("HelloWorld", inputString)
        .withReprompt(inputString)
        .build();
  }
}

Место вызова:

String body = myO ject.getAdditionalProperties().get("request").toString();
byte[] myRequest = URLDecoder.decode(body, StandardCharsets.UTF_8.name()).getBytes();

Как передать myRequest на handle()LaunchRequestHandler и как вызвать тот же метод handle()?

...