[英]Update a device owner managed android app silently (in kiosk mode)
[英]Launch another app in Kiosk Mode from a device owner app in Android Lollipop
是否有可能在Android L上启动另一个第三方应用程序锁定在Kiosk模式? 能够在不使用root访问权限的情况下做这样的事情会很棒。 但如果不使用root访问权限就无法做到这一点,那对我来说也是一个解决方案。
我已经成功开发了一个应用程序,它是我设备上的设备所有者,可以使用startLockTask()
方法将自己锁定到Kiosk模式。
如果你有一个已经是设备所有者的应用程序(如你所说),你应该可以从这个应用程序调用:
DevicePolicyManager devicePolicyManager = (DevicePolicyManager) context.getSystemService(Activity.DEVICE_POLICY_SERVICE);
devicePolicyManager.setLockTaskPackages(new ComponentName(context.getApplicationContext(), YourDeviceOwnerReceiver.class), new String[]{"the.package.you.want.to.allow.to.be.in.kiosk.mode"});
然后,从要在Kiosk模式下设置的活动(应该在the.package.you.want.to.allow.to.be.in.kiosk.mode
),您可以调用startLockTask()
。
如果您可以在自助服务终端模式下锁定自己的应用程序,则可以通过Intent()
启动另一个应用程序,其中一些flags
表示您的活动托管意图以继续您的自助服务终端。 您还必须使用AndroidManifest中运行的应用程序的启动模式。 使用singleTop
, singleTask
和singleInstance
解决singleTop
,直到找到所需内容。 singleTop
应该是您正在寻找的那个,但很难辨别。
如果所有其他方法都失败了,你可以随时启动你的意图,然后通过exec("su")
'adb kill SystemUI'这样的事情,以便杀死状态栏,软键和硬键以及导航。 根据设备的不同,SystemUI可能会自行重启。 你可以使用计时器。 肮脏的解决方法,但这就是信息亭的全部内容。 对于代码,您可以在这里使用答案: exec su在Android应用程序中
希望我帮了,
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.