我正在编写一个行业申请表,交通督导员会使用该表格通过我的程序注册违法行为。
该应用正在使用webview,因此它只是外部网页的容器。我们不希望我们的用户退出应用程序,因此我们必须禁用所有按钮。我成功地禁用了它们,除了主页按钮。
我阅读了有关此主题的一些主题,但我还没有任何解决方案。我的想法是,我能够将应用程序设置为默认的家庭应用程序,因此如果用户按下主页按钮,它将启动我的应用程序并且不会退出。我怎么能做到这一点?如果我们必须能够篡改Android本身(当我们安装应用程序时),但如果通过配置有一些解决方案,将不胜感激。
答案 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();
}