繁体   English   中英

从Android Lollipop中的设备所有者应用程序启动Kiosk模式中的另一个应用程序

[英]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中运行的应用程序的启动模式。 使用singleTopsingleTasksingleInstance解决singleTop ,直到找到所需内容。 singleTop应该是您正在寻找的那个,但很难辨别。

如果所有其他方法都失败了,你可以随时启动你的意图,然后通过exec("su") 'adb kill SystemUI'这样的事情,以便杀死状态栏,软键和硬键以及导航。 根据设备的不同,SystemUI可能会自行重启。 你可以使用计时器。 肮脏的解决方法,但这就是信息亭的全部内容。 对于代码,您可以在这里使用答案: exec su在Android应用程序中

希望我帮了,

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM