通话期间禁用屏幕
Disable screen during call
我正在开发一个 BB10 应用程序,它需要禁用屏幕,就像在通话期间将屏幕靠近您的脸一样。我为 实现了接近传感器,但 BB10 的 API 似乎没有提供打开或关闭屏幕的方法。
我可以使用什么来禁用和重新启用屏幕?
您可以通过在 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。
我正在开发一个 BB10 应用程序,它需要禁用屏幕,就像在通话期间将屏幕靠近您的脸一样。我为
我可以使用什么来禁用和重新启用屏幕?
您可以通过在 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。