所以,基本上,我目前正在开发一个 android 应用程序,该应用程序旨在用于教室内的专用平板电脑。在使用这个应用程序时,我们不希望学生退缩并四处乱窜,忽略他们应该做的事情。有没有办法:
a) 在启动时启动应用程序,因此无法初始访问主屏幕 b) 锁定应用程序,使其无法退出,并且将是唯一运行的东西
所以,基本上,我目前正在开发一个 android 应用程序,该应用程序旨在用于教室内的专用平板电脑。在使用这个应用程序时,我们不希望学生退缩并四处乱窜,忽略他们应该做的事情。有没有办法:
a) 在启动时启动应用程序,因此无法初始访问主屏幕 b) 锁定应用程序,使其无法退出,并且将是唯一运行的东西
实现您正在寻找的唯一方法是:
选项2要容易得多。基本上,您告诉 Android 您的应用是替换主屏幕,然后将其设置为每台设备上的默认设置。这样,每当设备解锁时,都会显示您的应用程序,按下主页按钮只会启动您的应用程序。这基本上会阻止设备打开任何其他应用程序,除非它是通过通知完成的,您可以通过使应用程序全屏来取消通知。现在离开您的应用程序的唯一可能性是通过最近的应用程序,或者在设备抖动或其他东西上启动应用程序的服务。您可以通过确保在您之前没有启动其他应用程序或手动清除最近的应用程序来解决此问题。该服务可以通过简单地不安装任何应用程序来解决。
您可以查看默认的主屏幕应用程序,该应用程序是开源的,可在以下位置获得:
https://android.googlesource.com/platform/packages/apps/Launcher2.git
我已经对此进行了大量研究,但选项并不漂亮:
1)编写自己的Android主屏幕
这一项涉及但似乎可行。从理论上讲,您可以选择编写一个只包含指向您的应用程序的链接并且不允许任何其他图标的主屏幕。
试试这个链接
2)创建你自己的锁屏
这可能使您可以更好地控制设备,但历史上唯一的选择是使用未发布的 API,现在已更改为不允许这样做。