禁用Android主页按钮以用于行业应用程序

时间:2011-02-09 11:14:59

标签: android

我正在编写一个行业申请表,交通督导员会使用该表格通过我的程序注册违法行为。

该应用正在使用webview,因此它只是外部网页的容器。我们不希望我们的用户退出应用程序,因此我们必须禁用所有按钮。我成功地禁用了它们,除了主页按钮。

我阅读了有关此主题的一些主题,但我还没有任何解决方案。我的想法是,我能够将应用程序设置为默认的家庭应用程序,因此如果用户按下主页按钮,它将启动我的应用程序并且不会退出。我怎么能做到这一点?如果我们必须能够篡改Android本身(当我们安装应用程序时),但如果通过配置有一些解决方案,将不胜感激。

2 个答案:

答案 0 :(得分:10)

  

我的想法是我可以将应用程序设置为默认的家庭应用程序,因此如果用户按下主页按钮,它将启动我的应用程序而不会退出。我怎么能做到这一点?

您的Android SDK中有一个示例Home应用程序。镜像其清单条目,特别是将HOME类别放入活动的<intent-filter>

第一次,呃,交通督导员在安装你的应用程序后点击HOME,会出现一个选择器来运行哪个家庭应用程序。选中复选框并点按您的应用将意味着HOME按钮将永远运行您的应用。

除了创建自定义家庭应用程序之外,除了通过固件修改之外,无法拦截HOME按钮。

答案 1 :(得分:0)

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    getWindow().addFlags(  WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

}

@Override
public void onBackPressed() {

   return;
}

@Override
public void onAttachedToWindow()
{  

       this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);     
       super.onAttachedToWindow();

}