android - Corona SDK 允许设备音量控制

标签 android sdk controls coronasdk volume

我在 Corona sdk 游戏中使用运行时监听器,它可以工作,但是我真正感兴趣的是让我的游戏不会干扰用户通过使用硬件音量控制在他们的 droid 手机或平板电脑上设置音量在他们的设备上。我在 Corona Labs 网站上找不到任何内容。感谢您的任何建议。

最佳答案

这发生在我身上一次,是因为我使用了事件监听器“key”

要解决这个问题,除了您正在处理的 key 外,您需要返回 FALSE,当“ key ”监听器返回 true 时,这意味着:“我用那个 key 做了一些事情,所以操作系统应该忽略它”以及何时返回 false,这意味着:“我对那个 key 没有做任何事情,所以操作系统应该处理它”

那么,为什么不能设置音量?这是因为您在某处捕获了“键”事件,并且当按下的键是音量一时不返回 false(最简单的方法是为您想要的返回“true”,为其他所有返回“false”)。

当我遇到这个问题时,我有这段代码:

local downPress = false
function onBackButtonPressed(e)
    if (e.phase == "down" and e.keyName == "back") then
        downPress = true
    else
        if (e.phase == "up" and e.keyName == "back" and downPress) then
            storyboard.gotoScene( LastScene , "fade", 200 );
            Runtime:removeEventListener( "key", onBackButtonPressed );
        end
    end
end

它可以很好地满足我的需求,但会阻止音量键。 请注意,上面没有“返回”语句。

现在的代码是这样的:

local downPress = false
function onBackButtonPressed(e)
    if (e.phase == "down" and e.keyName == "back") then
        downPress = true
        return true
    else
        if (e.phase == "up" and e.keyName == "back" and downPress) then
            storyboard.gotoScene( LastScene , "fade", 200 );
            Runtime:removeEventListener( "key", onBackButtonPressed );
            return true
        end
    end
    return false; --THE LINE YOU REALLY NEED IS THIS ONE!!!
end

所以我所做的是仅在按下并按下后退键时返回 true(我的目的是防止应用程序在按下后退键时退出,可能这也是您想要的)并为其他一切返回 false(包括音量键!)

关于android - Corona SDK 允许设备音量控制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12152022/

相关文章:

Android AppCompatCheckbox 填充/边距/重力

iphone - 我们打算支持iPhone 5,是否需要将Xcode升级到v4.5并使用iOS 6 SDK?

iphone - @autoreleasepool 做什么?

javascript - 正则表达式验证器不允许\w 使用非英文字符

Bash:控制 SSH

jquery - $.ajax 不每次都从服务器加载数据

java - 我如何在其他 View 之后绘制某些 View ?

android - 每秒更改 TextView 值 (Android)

Android RadioButton IsSelected 不工作

android - 项目目标(Android 2.1)未正确加载