【问题标题】:Disable screen during call通话期间禁用屏幕
【发布时间】:2015-04-09 17:38:13
【问题描述】:

我正在开发一款需要禁用屏幕的 BB10 应用,就像在通话期间将其靠近您的脸一样。我为detect when the screen should be disabled or enabled 实现了一个接近传感器,但 BB10 的 API 似乎没有提供打开或关闭屏幕的方法。

我可以使用什么来禁用和重新启用屏幕?

【问题讨论】:

    标签: c++ screen qml blackberry-10


    【解决方案1】:

    您可以通过在 QML 文件中最外层的Container 周围添加一个Container 并将其background 设置为Color.Black 来解决此问题。然后在之前最外层的Container 上添加id 并实现onScreenEnabled(enabled) 函数来显示或隐藏它。

    Container {
        background: Color.Black
    
        Container {
            id: callContainer
    
            ...
        }
    }
    
    function onScreenEnabled(enabled) {
        callContainer.visible = enabled;
    }
    

    在 .cpp 文件中,使用接近传感器的读数发出信号以启用或禁用屏幕:

    void CallProgress::checkReading() {
        bool isClose = proximitySensor->reading()->close();
        this->SetScreenEnabled(!isClose);
    }
    
    void CallProgress::SetScreenEnabled(const bool enabled) {
        emit screenEnabled(enabled);
    }
    

    将信号和函数声明添加到 .h 文件。在 .qml 文件中,将发出的信号连接到对应的 QML 函数。

    当接近传感器的读数检测到用户靠近屏幕时,这将隐藏 UI。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-06-11
      • 1970-01-01
      • 1970-01-01
      • 2014-09-18
      • 2017-01-09
      • 2017-03-15
      • 1970-01-01
      相关资源
      最近更新 更多