游戏手柄按钮导致 cordova android 电视应用程序缩放

Gamepad buttons cause zooming of cordova android tv app

我有一个 android 电视网络应用程序,使用 cordova 6.4.0、cordova android 6.0.0、crosswalk 2.3.0 运行 在 android 7.0 上创建。当我在游戏手柄控制器 (nvidia shield) 上按下左或右触发按钮 (aka l2 r2) 时,应用程序会缩放 in/out。我怎样才能防止这种情况发生?

我试过覆盖

dispatchGenericMotionEvent(MotionEvent event)
{
    return true;
}

抑制所有运动事件,因为我只需要方向键、后退和 XYBA 按钮。不幸的是它也禁用了 dpad 按钮。在我看来,当比较 MotionEvent 对象时,无法区分方向键和触发按钮。我发现的唯一区别是 dpad 事件永远不会成批出现,但这还不足以做出正确的区分。

必须有另一种方法来判断方向键或触发按钮是否被按下。 cordova/android 以某种方式使应用程序在按下触发按钮时放大。那么检查可以在别处进行吗?

它没有直接回答我的问题,但我通过向 index.html:

添加元标记解决了这个问题
<meta name='viewport' content='initial-scale=1.0, maximum-scale=1.0, user-scalable=no'>