android - 如果没有某些操作,如何使活动无法退出?
问题描述
我正在制作一个家长控制应用程序,该应用程序会在特定时间要求输入密码。我希望在父母提供正确密码之前无法退出应用程序要求输入密码的活动。我怎样才能做到这一点?
解决方案
将以下权限添加到 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
}
推荐阅读
- c# - 获得当天 26 周前一天的可能方法?
- java - 如何在同一个 cmd 窗口中多次运行 .jar?
- reactjs - 如何在 Windows 中创建没有管理员凭据的反应应用程序?
- python - Apache ProxyPass 不适用于远程主机
- sql-server - 插入和删除同时出现SQL死锁
- ios - 自定义字体不能以编程方式在 Swift 中工作,但可以与 xib/Storyboard 一起使用
- javascript - 使用 Webpack 创建 AudioWorlet 时出现 DOMException 错误
- javascript - 动态更新对象中的 Getter 函数
- visual-studio - 如何在预构建事件中将现有文件添加到 Visual Studio 中的项目?
- javascript - 动态改变网格 React 的结构