在Android中启动应用程序后禁用按钮

时间:2014-02-13 05:41:29

标签: android kiosk kiosk-mode

我目前正在Kiosk模式下开发内容管理应用。我在Surelock Kiosk Lockdown中对此进行了模式化。有一个管理员密码,以允许应用程序在应用程序内运行。此应用程序中禁用了Home,Back和Recent Task App等按钮。但是,当我启动某个应用时,会再次启用“后退”按钮和“最近的任务应用”。

我想要发生的是,当用户启动应用时,最近任务应用按钮和后退按钮被禁用,就像在内容管理应用中一样。我一直在寻找并找到如何做到这一点的方法。请帮我说明如何做到这一点。谢谢。

BTW,我正在使用此代码禁用按钮:

// Disable Recent Task App
public void onWindowFocusChanged(boolean hasFocus) {
    super.onWindowFocusChanged(hasFocus);

    Log.d("Focus debug", "Focus changed!");

    if (!hasFocus) {
        Log.d("Focus debug", "Lost focus!");

        Intent closeDialog = new Intent(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);
        closeDialog.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK
                | Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
        sendBroadcast(closeDialog);
    }
}

// Disable Volume Buttons and Back Button
private final List hijackKeys = new ArrayList(Arrays.asList(
        KeyEvent.KEYCODE_VOLUME_DOWN, KeyEvent.KEYCODE_VOLUME_UP,
        KeyEvent.KEYCODE_BACK));

@Override
public boolean dispatchKeyEvent(KeyEvent event) {
    if (hijackKeys.contains(event.getKeyCode())) {
        return true;
    } else {
        return super.dispatchKeyEvent(event);
    }
}

0 个答案:

没有答案