我想为Android构建一个应用程序,并确保用户只能使用此应用程序。 (即用户不应该打开或安装任何其他应用程序。)
是否可以在Android设备上强制执行此类限制?如果它应该在哪里开始?
答案 0 :(得分:2)
您正在寻找的是“信息亭模式”(只是为了帮助您搜索相应的术语)。
标准的android api中没有这样的东西(至少......还没有: 参见编辑 )。用户始终可以按主页按钮返回主页应用程序。
但存在解决方案:
这个解决方案有点弱(但可能符合你的要求?):开发一个“家庭应用程序”(这很容易:只需在你的清单中加入这样的东西:
<activity android:name="MyCustomHome"
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.HOME"/>
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
有了这个,当用户按下主页按钮时:他必须选择要使用的主页应用程序,如果用户决定制作你的应用程序它是默认主页:他会在按下主页时回到你的应用程序按钮。
缺点:主页按钮不是摆脱当前应用程序的唯一方式,因此此解决方案不会真正阻止用户(例如:在三星上,从上到下滑动始终显示工具栏..并且用户可以从那里做任何事情)
使用特定的构造函数扩展:
我猜其他构造函数存在其他解决方案,但我不知道它们。
修改/更新强>
使用Android-5.0-Lollipop:screen pinning api允许您在 kiosk-mode 中运行您的应用。 kiosk-mode 的android术语是 screen-pinning-mode 。
要使您的应用在屏幕固定模式中工作,您必须使用Activity.startLockTask(和Activity.stopLockTask()退出屏幕固定模式)。
默认情况下,用户必须批准屏幕固定模式(当您的应用调用startLockTask
时会提示弹出窗口。)
如果您的应用是device owner:则系统不会提示用户,您可以在未经确认的情况下进入屏幕固定模式。
用户还可以通过选择以下方式手动为应用启用屏幕固定模式:设置&gt;安全&gt;屏幕固定。 (在这种情况下:用户可以通过按住后退和最近按钮退出屏幕固定模式)
答案 1 :(得分:0)