Android的Kiosk模式

Mik*_*Kim 12 android kiosk-mode cordova

我有一个混合应用程序写在phonegap为Android平板电脑.现在我希望平板电脑只显示我的应用程序.基本上我希望平板电脑始终处于仅运行我的应用程序的信息亭模式.这样所有按钮都被禁用.我在网上寻找解决方案,其中一个是使用"surelock",但它没有做到以上所有.另一个选择是编写我自己的ROM,但是我找不到任何好的教程.任何人都可以帮助我PLZ?

Mik*_*Kim 7

我做了很多研究,现在终于对我得到的东西感到满意.

你基本上有两个选择:

  1. 创建自己的自定义ROM,这对我来说不是最好的解决方案.

  2. 使用各种黑客自定义平板电脑.

所以我将解释第二个选项.

首先,您需要根设备.有各种方法,但我更喜欢通过oneclick软件生根.对于中国平板电脑,您可以使用VROOT,对于更受欢迎的平板电脑,请使用Kingo root.

现在,您的设备已根植,我们可以摆脱顶部和底部的条形图.

private void hideBar(){
    try
    {
        Process proc = Runtime.getRuntime().exec(new String[]{"su","-c","service call activity 42 s16 com.android.systemui"}); 
        proc.waitFor();
    }
    catch(Exception ex)
    {
        Toast.makeText(getApplicationContext(), ex.getMessage(), Toast.LENGTH_LONG).show();
        Log.e("ROOT ERROR", ex.getMessage());
    }
}
Run Code Online (Sandbox Code Playgroud)

这将使顶部和底部条消失.但是,您可能需要一种方法再次显示条形图.为此您可以使用:

public void showBars(){
    try 
    {
        String command;
        command = "LD_LIBRARY_PATH=/vendor/lib:/system/lib am startservice -n com.android.systemui/.SystemUIService";
        String[] envp = null;
        Process proc = Runtime.getRuntime().exec(new String[] { "su", "-c", command }, envp);
        proc.waitFor();
    } 
    catch(Exception ex)
    {
        Toast.makeText(context.getApplicationContext(), ex.getMessage(), Toast.LENGTH_LONG).show();
    }
}
Run Code Online (Sandbox Code Playgroud)

好的,我们还有,剩下的就是让你的应用程序在启动时启动.为此你可以找到许多教程,只是谷歌.