Есть ли способ вызвать обратное действие roku через BrightScript?
Я хочу удалить текущий экран из стека навигации и показать предыдущий экран.
Мне это нужно по нескольким причинам:
1.) На экране появится кнопка «Назад», к которой пользователь сможет перейти и нажать.Нажатие на эту кнопку должно вызвать обратное действие, аналогичное нажатию кнопки «Назад» на пульте дистанционного управления. (Подумайте о браузере window.history.back ())
2.) Я хочу вызвать это обратное действие при вызове определенных событий обратного вызова.
I в настоящее времяиспользуйте следующую задачу для навигации:
function init()
? "[NavigationTask] init()"
m.top.functionName = "gotoScreen"
end function
sub gotoScreen()
if m.top.sceneName <> invalid then
handleNav(m.top.sceneName)
else
print "[NavigationTask] sceneName not specified"
end if
end sub
sub handleNav(sceneName as String)
print "[NavigationTask] handleNav"
screen = CreateObject("roSGScreen")
m.port = createObject("roMessagePort")
screen.SetMessagePort(m.port)
if screen <> invalid
scene = screen.CreateScene(sceneName)
screen.Show()
while(true)
msg = wait(0, m.port)
msgType = type(msg)
print "[NavigationTask] msg : "; msgType" scene="sceneName
if msgType = "roSGScreenEvent"
if msg.isScreenClosed() then return
end if
end while
else
print "[NavigationTask] Invalid roSGScreen"
end if
end sub
Задача называется так:
m.NavigationTask = createObject("roSGNode","NavigationTask")
m.NavigationTask.sceneName = videoScreen()
m.NavigationTask.control ="RUN"