Kiosk 模式和 Fire OS - startLockTask 不工作
Kiosk mode and Fire OS - startLockTask not working
我拥有 Kindle Fire with Fire OS 5.1.4 版
我将我的应用程序设置为设备管理员并且运行良好(我的应用程序显示了小吐司说 "yeah I am the administrator" :))
问题是调用 startLockTask 根本没有效果:烦人的绿屏固定对话框无论如何都会出现,而且应用程序没有被锁定。
我的目标是开发一个信息亭应用程序,但就目前而言,用户只需拖动状态栏即可离开应用程序..
有什么解决方法吗?
这是我的onCreate
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ComponentName deviceAdmin = new ComponentName(this, KioskSystemEventsReceiver.class);
DevicePolicyManager mDpm = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);
if (!mDpm.isAdminActive(deviceAdmin)) {
Toast.makeText(this, "WARNING: i'm not the device admin", Toast.LENGTH_LONG).show();
// not shown
}
if (mDpm.isDeviceOwnerApp(getPackageName())) {
mDpm.setLockTaskPackages(deviceAdmin, new String[]{getPackageName()});
} else {
Toast.makeText(this, "WARNING: i'm not the device owner", Toast.LENGTH_LONG).show();
// not shown
}
startLockTask();
[...]
我的结论:
您似乎无法将您的应用设置为设备所有者,因为 Kindle Fire 即使在恢复出厂设置后也始终已配置。
如果您的应用不能成为设备所有者,它将无法在没有用户干预的情况下启动 LockTask。
唯一的方法是root设备并获得权限..
我拥有 Kindle Fire with Fire OS 5.1.4 版
我将我的应用程序设置为设备管理员并且运行良好(我的应用程序显示了小吐司说 "yeah I am the administrator" :))
问题是调用 startLockTask 根本没有效果:烦人的绿屏固定对话框无论如何都会出现,而且应用程序没有被锁定。
我的目标是开发一个信息亭应用程序,但就目前而言,用户只需拖动状态栏即可离开应用程序..
有什么解决方法吗?
这是我的onCreate
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ComponentName deviceAdmin = new ComponentName(this, KioskSystemEventsReceiver.class);
DevicePolicyManager mDpm = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);
if (!mDpm.isAdminActive(deviceAdmin)) {
Toast.makeText(this, "WARNING: i'm not the device admin", Toast.LENGTH_LONG).show();
// not shown
}
if (mDpm.isDeviceOwnerApp(getPackageName())) {
mDpm.setLockTaskPackages(deviceAdmin, new String[]{getPackageName()});
} else {
Toast.makeText(this, "WARNING: i'm not the device owner", Toast.LENGTH_LONG).show();
// not shown
}
startLockTask();
[...]
我的结论:
您似乎无法将您的应用设置为设备所有者,因为 Kindle Fire 即使在恢复出厂设置后也始终已配置。
如果您的应用不能成为设备所有者,它将无法在没有用户干预的情况下启动 LockTask。
唯一的方法是root设备并获得权限..