【发布时间】:2012-03-21 00:01:44
【问题描述】:
由于我们要将手机用于公共用途,因此我希望在手机启动时启动应用程序。 与填写代码相比,正确的活动应该在用户无法进入“电话”软件(OS)的情况下启动。 是否可以覆盖所有电话按钮,因此用户不会进入主屏幕,例如,如果是,调用哪些方法? 谢谢
【问题讨论】:
标签: android overwrite back-button-control
由于我们要将手机用于公共用途,因此我希望在手机启动时启动应用程序。 与填写代码相比,正确的活动应该在用户无法进入“电话”软件(OS)的情况下启动。 是否可以覆盖所有电话按钮,因此用户不会进入主屏幕,例如,如果是,调用哪些方法? 谢谢
【问题讨论】:
标签: android overwrite back-button-control
您可以通过在您的活动中添加这些行来覆盖后退按钮的默认行为:
@Override
public void onBackPressed() {
// do nothing
}
(默认行为是在当前活动上调用finish():如果您执行上述操作,则删除此finish() 调用)。
覆盖主页按钮有点复杂:看看这些问题:
【讨论】:
Android API 文档还可以向您展示很多东西。
http://developer.android.com/reference/android/app/Activity.html
您需要确保涵盖活动生命周期的每个部分,并覆盖任何会导致您不想要的行为的方法(即按钮按下)。
查看 Android 操作系统抛出的意图也很聪明。
http://developer.android.com/reference/android/content/Intent.html
这样您就可以捕捉到任何意外事件。了解您正在使用的平台也会有所帮助。一些制造商的手机提供特定的 API(可以从制造商网站下载)以及硬件按钮。如果您尝试创建一个锁定的系统,您也应该考虑到这一点。
【讨论】: