Glass:如何优雅地退出主菜单

Posted

技术标签:

【中文标题】Glass:如何优雅地退出主菜单【英文标题】:Glass: How to gracefully exit on a downswipe to the main menu 【发布时间】:2014-04-30 10:52:50 【问题描述】:

对于 Google Glass 应用,如何让应用在向下滑动到玻璃主菜单时优雅地退出?

在 MainActivity 中尝试这段代码:

@覆盖 protected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); if (getIntent().getBooleanExtra("EXIT", false)) 结束(); 返回; @覆盖 public boolean onKeyDown(int keycode, KeyEvent event) if (keycode == KeyEvent.KEYCODE_BACK) Intent 意图 = new Intent(MainActivity.this, MainActivity.class); 意图.setFlags(意图.FLAG_ACTIVITY_CLEAR_TOP); intent.putExtra("EXIT", true); 开始活动(意图); 返回假;

这似乎不会“退出” Google Glass 应用。这可能适用于 android 应用程序,但这会导致 Glass 应用程序进入一个奇怪的状态,即永久显示空白屏幕。我想“退出”并查看 Google Glass 主界面或退出应用程序并将 Glass 置于默认睡眠模式。

【问题讨论】:

【参考方案1】:

您需要做的就是在 keydown 上调用 finish()。

public boolean onKeyDown(int keycode, KeyEvent event) 
    if (keycode == KeyEvent.KEYCODE_BACK)
        finish();        
    return false;


public void onDestroy() 
    super.onDestroy();


您可能会遇到 onKeyDown 方法的问题,在这种情况下使用手势检测器。

if (gesture == Gesture.SWIPE_DOWN) 
                finish();
                return true;
            

您可以查看here 以获取完整参考。

【讨论】:

这似乎不会“退出”谷歌眼镜应用。这可能适用于 Android 应用程序,但这会导致 Glass 应用程序进入一个奇怪的状态,即永久显示空白屏幕。我想“退出”并查看 Google Glass 主界面或退出应用程序并将 Glass 置于默认睡眠模式。 正如我之前提到的,一键按下可能会产生问题。因此,使用手势检测器将是您最好的出路。我已经编辑了答案以包含它。通过像这样调用 finish() 对我有用。

以上是关于Glass:如何优雅地退出主菜单的主要内容,如果未能解决你的问题,请参考以下文章

优雅地退出资源管理器(以编程方式)

RT-Thread学习笔记如何优雅地退出QEMU模拟器

.NET Worker Service 如何优雅退出

.NET Worker Service 如何优雅退出

在处理状态超时时优雅地退出 gen_statem

在python中捕获Ctrl + C / SIGINT并优雅地退出多进程[重复]