【问题标题】:How to get screen state through SDB command?如何通过 SDB 命令获取屏幕状态?
【发布时间】:2017-11-25 13:08:41
【问题描述】:
我需要为我的工具开发一个 Java API 来获取 tizen 设备的屏幕状态。是否有任何 sdb shell 命令来获取 tizen 设备的屏幕状态?我们可以通过"adb.exe shell dumpsys activity | grep mLockScreenShown" 等adb 命令获取android 设备屏幕状态。 tizen中有dumpsys activity这样的东西吗?
【问题讨论】:
标签:
java
tizen
tizen-native-app
【解决方案1】:
在下面,我找到了获取 tizen 设备锁屏状态的替代解决方案。 tizen 设备锁定屏幕时,org.tizen.lockscreen 服务已自动启动。所以我在 sdb shell 中运行了一个命令"ps aux | grep lockscreen"。下面是获取tizen设备锁屏的Java API:
public static boolean getLockScreenStatus() throws IOException {
boolean status = false;
Process process_screen = null;
BufferedReader buf_screen;
String str_screen;
String command = System.getProperty("java.home") + File.separator + "tools" + File.separator + "sdb.exe"
+ " -s " + "0000d04800009200 shell ps aux | grep lockscreen";
process_screen = Runtime.getRuntime().exec(command);
buf_screen = new BufferedReader(new InputStreamReader(process_screen.getInputStream()), 1024);
while ((str_screen = buf_screen.readLine()) != null) {
if (str_screen.contains("org.tizen.lockscreen/bin/lockscreen")) {
status = true;
System.out.println(str_screen);
}
}
return status;
}
这里,System.getProperty("java.home") + File.separator + "tools" + File.separator 是我的 PC 环境的SDBpath,0000d04800009200 是我的 tizen 设备的设备 ID。但我仍然不知道如何关闭屏幕。