嗨,我试着在关闭另一个屏幕后检测到屏幕返回,应该工作时从我的应用程序屏幕返回,但也从设备摄像头返回后拍摄视频。在被覆盖的方法onExposed()中,我能够检测到这种情况,但它被调用了太多次,而且在显示对话框时也会调用(警报)。有没有更好的方法来检测返回屏幕?
protected void onExposed() {
// return to screen detected
MainApp.addLog("onExposed");
}发布于 2011-04-06 16:28:52
拍摄视频后从设备摄像头返回的
检查Application.activate()
系统在将此应用程序带到前台时调用此方法。默认情况下,此方法不执行任何操作。重写此方法以在被带到前台时执行其他处理。
发布于 2011-04-07 00:26:12
如果您覆盖了Screen.onUiEngineAttached(boolean)方法,那么当屏幕被附加或从UI分离时-基本上是当它从屏幕堆栈中被推入或弹出时--您可以得到通知。
发布于 2011-11-23 06:27:30
我不得不做类似的事情,并发现这非常令人困惑,因为在不确定的时间内可能会多次调用onExposed()。
为了在屏幕A(主屏幕)中检测从屏幕B返回,我使用了屏幕B的onUiEngineAttached(false),它在弹出时被调用。
使用回调:
public interface Ievent {
public void backFromScreenBEvent();
}屏幕A:
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:
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
}
}https://stackoverflow.com/questions/5563248
复制相似问题