【问题标题】:How to prevent user from leaving app or locking user in the same screen?如何防止用户离开应用程序或将用户锁定在同一屏幕?
【发布时间】:2022-01-18 00:24:31
【问题描述】:

我正在创建一个儿童应用程序,当您在儿童空间(这只是一个屏幕上有许多视频或音乐播放列表),只有使用指纹进行身份验证或输入正确的图案甚至是面部 ID 才能存在空间。

【问题讨论】:

    标签: android ios flutter dart


    【解决方案1】:

    三星作为制造商拥有普通应用开发者无法获得的特殊权限和系统 API 访问权限。我知道您可以在Activity 级别使用Back button,但不能使用Home 按钮或Overview 按钮。

    两个键码

    KEYCODE_APP_SWITCH(Overview) 和 KEYCODE_HOME 不会传递给您的Activity,而是由OS 处理,即Samsung 风格的Android,然后它们可以拦截并处理这些代码他们认为合适。

    我相信在pre-4.0 等更旧版本的Android 中,您可以轻松地执行此类操作,但它存在明显的安全风险。所以只有系统应用才能在现代Android中使用这种东西。

    根据手机的不同,您可以通过Settings 禁用这些按钮,这意味着您可以在首次启动时提示家长禁用它们。

    总而言之,如果您确实想出了一个解决方案,那将不会很漂亮。

     //Here is the way you can catch the back button though.
     @Override
     public boolean onKeyDown(int keyCode, KeyEvent event) {\
         //Catch the back key and return
         if(KeyEvent.KEYCODE_BACK == keyCode){
             return false;
         }
         return super.onKeyDown(keyCode, event);
     }
    

    编辑:你也有Flutter/Dart 标签,你甚至有更多使用该api而不是本机api的限制。

    【讨论】:

    • 感谢您的明确回答,因此似乎没有办法阻止孩子随时点击主页按钮并离开应用程序
    猜你喜欢
    • 1970-01-01
    • 2013-06-28
    • 1970-01-01
    • 2015-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多