【问题标题】:Android - Simulate Home clickAndroid - 模拟主页点击
【发布时间】:2010-05-02 03:13:18
【问题描述】:

我知道在活动中调用 finish() 将产生与用户单击后退按钮相同的结果; Home按钮有类似的东西吗? (希望在某些操作后自动显示主屏幕)。

编辑:另外,我希望菜单和搜索按钮也能做到这一点。

谢谢!

【问题讨论】:

    标签: android


    【解决方案1】:

    您可以简单地为此使用 Intent:

    Intent i = new Intent(Intent.ACTION_MAIN);
    i.addCategory(Intent.CATEGORY_HOME);
    startActivity(i);
    

    【讨论】:

    • 我把它读成“这是有目的的”,然后轻笑了一下 :)
    • 没有“Intent.ACTION_HOME” - 它不存在。根据developer.android.com/reference/android/content/Intent.html,它应该是:“ACTION_MAIN 类别为 CATEGORY_HOME -- 启动主屏幕
    • 谢谢@mishkin!我认为应该编辑 Romain Guy 的答案以包含您的修改。
    【解决方案2】:

    首页:

    Intent showOptions = new Intent(Intent.ACTION_MAIN); showOptions.addCategory(Intent.CATEGORY_HOME); 开始活动(显示选项);

    菜单:

    打开选项菜单(); // 这在 onCreate 中不起作用 // 如果有人知道它是如何工作的 // 请将其发布为响应

    【讨论】:

      【解决方案3】:
      startActivity(new Intent(Intent.ACTION_MAIN).addCategory(Intent.CATEGORY_HOME));
      

      【讨论】:

        【解决方案4】:

        我找到的模拟主页点击的最接近的解决方案是:

        在主页按钮上点击系统日志:

        I/ActivityManager:启动 u0 {act=android.intent.action.MAIN cat=[android.intent.category.HOME] flg=0x10200000 cmp=com.belauncher/.ui.activities.MainActivity (has extras)} 来自 uid 1000 显示 0

        模拟意图:

           Intent i = new Intent(Intent.ACTION_MAIN);
                    i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                    i.addFlags(Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
                    i.addCategory(Intent.CATEGORY_HOME);
                    startActivity(i);
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2017-04-12
          • 2015-05-03
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-04-03
          • 1970-01-01
          相关资源
          最近更新 更多