首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >BlackBerry返回屏幕检测

BlackBerry返回屏幕检测
EN

Stack Overflow用户
提问于 2011-04-06 16:08:23
回答 3查看 861关注 0票数 1

嗨,我试着在关闭另一个屏幕后检测到屏幕返回,应该工作时从我的应用程序屏幕返回,但也从设备摄像头返回后拍摄视频。在被覆盖的方法onExposed()中,我能够检测到这种情况,但它被调用了太多次,而且在显示对话框时也会调用(警报)。有没有更好的方法来检测返回屏幕?

代码语言:javascript
复制
protected void onExposed() {
    // return to screen detected
    MainApp.addLog("onExposed");
}
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-04-06 16:28:52

拍摄视频后从设备摄像头返回的

检查Application.activate()

系统在将此应用程序带到前台时调用此方法。默认情况下,此方法不执行任何操作。重写此方法以在被带到前台时执行其他处理。

票数 3
EN

Stack Overflow用户

发布于 2011-04-07 00:26:12

如果您覆盖了Screen.onUiEngineAttached(boolean)方法,那么当屏幕被附加或从UI分离时-基本上是当它从屏幕堆栈中被推入或弹出时--您可以得到通知。

票数 1
EN

Stack Overflow用户

发布于 2011-11-23 06:27:30

我不得不做类似的事情,并发现这非常令人困惑,因为在不确定的时间内可能会多次调用onExposed()。

为了在屏幕A(主屏幕)中检测从屏幕B返回,我使用了屏幕B的onUiEngineAttached(false),它在弹出时被调用。

使用回调:

代码语言:javascript
复制
public interface Ievent {
    public void backFromScreenBEvent();
}

屏幕A:

代码语言:javascript
复制
public class ScreenA extends MainScreen implements Ievent
{
    private ScreenB screenB;

    // constructor
    public ScreenA()
    {
        screenB = new ScreenB(this); // pass over Ievent
        // ....
    }

    public void backFromScreenBEvent()
    {
        // screen B is returning, do something
    }

屏幕B:

代码语言:javascript
复制
public final class ScreenB extends MainScreen
{
    private Ievent event;

    // constructor  
    public ScreenB(final Ievent event)
    {
        this.event = event;
        // ...
    }

    protected void onUiEngineAttached(boolean attached) {
        super.onUiEngineAttached(attached);
        if (!attached) {
            event.backFromScreenBEvent(); // notify event
        }
    }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5563248

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档