首页 > 解决方案 > 如果没有某些操作,如何使活动无法退出?

问题描述

我正在制作一个家长控制应用程序,该应用程序会在特定时间要求输入密码。我希望在父母提供正确密码之前无法退出应用程序要求输入密码的活动。我怎样才能做到这一点?

标签: androidandroid-studiokotlin

解决方案


将以下权限添加到 AndroidManifest.xml

<uses-permission android:name="android.permission.REORDER_TASKS" />

然后在你的活动中

@Override
protected void onPause() {
    super.onPause();

    ActivityManager activityManager = (ActivityManager) getApplicationContext()
            .getSystemService(Context.ACTIVITY_SERVICE);

    activityManager.moveTaskToFront(getTaskId(), 0);
 }

禁用主页按钮

<category android:name="android.intent.category.LAUNCHER" />
    <category android:name="android.intent.category.HOME" />
    <category android:name="android.intent.category.DEFAULT" />

禁用返回按钮

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// Do nothing or catch the keys you want to block
}

推荐阅读