我正在尝试使用Android 5的屏幕固定功能构建自助服务终端应用。似乎我在应用程序中需要做的就是调用startLockTask()
,但这仍然允许用户通过按下最近和后退按钮离开应用程序。
要以不允许用户离开的方式固定应用,需要该应用为设备所有者。基于sites such as this one,需要运行
adb shell dpm set-device-owner my.package.name/.MyAdminReceiver
以设置设备所有者。但是,该命令失败并带有
java.lang.IllegalStateException: Trying to set device owner but device is already provisioned.
我听说,是由设备上已存在的文件/data/system/device_owner.xml
引起的。
由于该设备刚刚出厂重置,我怀疑它已经配备了制造商已经配置的应用程序,所以我根植了设备。我宁愿在没有生根的情况下这样做(因为我必须运行70个设备)但是出于研究目的,它无法得到帮助。
在设备生根后,我尝试找到device_owner.xml
文件,但它不存在。我尝试根据this answer创建一个,但应用程序仍显示固定消息,最近的+后退按钮仍然取消固定应用程序。
那为什么我不能设置设备所有者?有什么办法吗?
答案 0 :(得分:2)
虽然我在新重置设备上尝试了dpm配置,但@ basilisk的评论在答案中暗示了我。该设备加载了提供默认帐户的英国媒体报道软件。最终禁用这些应用程序允许我使用dpm配置设备。