覆盖手机标准按钮

时间:2012-03-02 13:24:51

标签: android overwrite back-button-control

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

2 个答案:

答案 0 :(得分:2)

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

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

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

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

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

Android Overriding home key

答案 1 :(得分:1)

Android API文档还可以向您展示很多内容。

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

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

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

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

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