【问题标题】:Overwriting phone standard buttons覆盖电话标准按钮
【发布时间】:2012-03-21 00:01:44
【问题描述】:

由于我们要将手机用于公共用途,因此我希望在手机启动时启动应用程序。 与填写代码相比,正确的活动应该在用户无法进入“电话”软件(OS)的情况下启动。 是否可以覆盖所有电话按钮,因此用户不会进入主屏幕,例如,如果是,调用哪些方法? 谢谢

【问题讨论】:

    标签: android overwrite back-button-control


    【解决方案1】:

    您可以通过在您的活动中添加这些行来覆盖后退按钮的默认行为:

    @Override
    public void onBackPressed() {
        // do nothing
    }
    

    (默认行为是在当前活动上调用finish():如果您执行上述操作,则删除此finish() 调用)。

    覆盖主页按钮有点复杂:看看这些问题:

    Can I override the 'Home' button in my application?

    Android Overriding home key

    【讨论】:

      【解决方案2】:

      Android API 文档还可以向您展示很多东西。

      http://developer.android.com/reference/android/app/Activity.html

      您需要确保涵盖活动生命周期的每个部分,并覆盖任何会导致您不想要的行为的方法(即按钮按下)。

      查看 Android 操作系统抛出的意图也很聪明。

      http://developer.android.com/reference/android/content/Intent.html

      这样您就可以捕捉到任何意外事件。了解您正在使用的平台也会有所帮助。一些制造商的手机提供特定的 API(可以从制造商网站下载)以及硬件按钮。如果您尝试创建一个锁定的系统,您也应该考虑到这一点。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2010-12-12
        • 2012-04-10
        • 1970-01-01
        • 1970-01-01
        • 2016-12-10
        • 2021-11-14
        • 1970-01-01
        相关资源
        最近更新 更多