Я мигрирую в 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()
?