【发布时间】:2016-04-02 02:32:31
【问题描述】:
我正在尝试在 kiosk 模式下构建一个 android 应用程序。到目前为止,我所取得的成就是将应用程序设为全屏并处理主页和后退按钮。但是,我的问题是,我想删除状态/通知栏。我不希望用户通过它访问任何其他设置。
谁能帮我解决这个问题?
【问题讨论】:
标签: android kiosk kiosk-mode
我正在尝试在 kiosk 模式下构建一个 android 应用程序。到目前为止,我所取得的成就是将应用程序设为全屏并处理主页和后退按钮。但是,我的问题是,我想删除状态/通知栏。我不希望用户通过它访问任何其他设置。
谁能帮我解决这个问题?
【问题讨论】:
标签: android kiosk kiosk-mode
您可以使用沉浸式模式,但仍允许用户通过从屏幕顶部滑动 2 次来访问状态栏。
您真正想要的是运行一个 shell:service call activity 42 s16 com.android.systemui 作为 root。
你可以使用这个函数来执行它:
public static void sudo(String...strings) {
try{
Process su = Runtime.getRuntime().exec("su");
DataOutputStream outputStream = new DataOutputStream(su.getOutputStream());
for (String s : strings) {
outputStream.writeBytes(s+"\n");
outputStream.flush();
}
outputStream.writeBytes("exit\n");
outputStream.flush();
try {
su.waitFor();
} catch (InterruptedException e) {
e.printStackTrace();
}
outputStream.close();
}catch(IOException e){
e.printStackTrace();
}
}
这是从另一个 S/O 问题中提取的,答案是一页又一页,但它是唯一可以在多个设备上为我工作的问题。所以,只是为了节省您一些时间。
【讨论】: