On pressing back button, the app gets exited.

When I’m in “level1”, if I press back button, it should should show “menu” but instead it exits the app,altogether.

Please help. 

Here’s my key event code written in external module

:

keyhandler.lua

local publicClass={} publicClass.onKeyEvent= function ( event ) local composer = require( "composer" ) local phase = event.phase local keyName = event.keyName print( event.phase, event.keyName ) currScene= composer.getSceneName("current") print("Current : "..currScene) if ( "back" == keyName and phase == "down" ) then if ( currScene == "menu" ) then native.requestExit() else if ( currScene == "level1" ) then print("going to menu1") composer.gotoScene("menu",{ effect="crossFade", time=500 }) end end end if ( keyName == "volumeUp" and phase == "down" ) then local masterVolume = audio.getVolume() print( "volume:", masterVolume ) if ( masterVolume \< 1.0 ) then masterVolume = masterVolume + 0.1 audio.setVolume( masterVolume ) end return true elseif ( keyName == "volumeDown" and phase == "down" ) then local masterVolume = audio.getVolume() print( "volume:", masterVolume ) if ( masterVolume \> 0.0 ) then masterVolume = masterVolume - 0.1 audio.setVolume( masterVolume ) end return true end return false --SEE NOTE BELOW end return publicClass

The other method is for volume management.

Thank you.

Do you ever enable the keyListener?

local keyhandler = require( "keyhandler" ) Runtime:addEventListener( "key",&nbsp; keyhandler.onKeyEvent )

somewhere in your code?
 

Rob

Yes, I did. In scene: create(), I added the Runtime listener. 

Here’s the snippet.

In level1.lua:

--handle back and volume keys local keyClass = require("keyhandler") function scene:create( event ) .. Runtime:addEventListener("key",keyClass.onKeyEvent) end

First I would probably add the event listener in scene:show()'s “did” phase and remove it in scene:hide()'s “will” phase.

Next I would put in some print statements and see if you can trace your logic as to whats going on. Make sure you’re actually getting into the key event, what the key name is, what the phase is, etc.

Rob

Thanks, Rob! That did it. Thanks a lot. :slight_smile:

Do you ever enable the keyListener?

local keyhandler = require( "keyhandler" ) Runtime:addEventListener( "key",&nbsp; keyhandler.onKeyEvent )

somewhere in your code?
 

Rob

Yes, I did. In scene: create(), I added the Runtime listener. 

Here’s the snippet.

In level1.lua:

--handle back and volume keys local keyClass = require("keyhandler") function scene:create( event ) .. Runtime:addEventListener("key",keyClass.onKeyEvent) end

First I would probably add the event listener in scene:show()'s “did” phase and remove it in scene:hide()'s “will” phase.

Next I would put in some print statements and see if you can trace your logic as to whats going on. Make sure you’re actually getting into the key event, what the key name is, what the phase is, etc.

Rob

Thanks, Rob! That did it. Thanks a lot. :slight_smile: