我拥有使用Fire OS版本5.1.4的Kindle Fire
我将我的应用程序设置为设备管理员,它运行良好(我的应用程序显示了小吐司说"是的我是管理员" :))
问题是调用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();
[...]
答案 0 :(得分:2)
我的结论:
您似乎无法将自己的应用设置为设备所有者,因为即使在工厂重置后,Kindle Fire也已经配置完毕。
如果您的应用无法成为设备所有者,则无法在没有用户干预的情况下启动锁定任务。
唯一的方法是根设备并获得权限..