如何通过SDB命令获取屏幕状态?
问题描述:
我需要开发一个Java API来我的工具来获得tizen设备的屏幕状态。是否有任何sdb shell命令来获取tizen设备的屏幕状态?我们可以通过ADB命令状"adb.exe shell dumpsys activity | grep mLockScreenShown"
获得Android设备的屏幕状态。 tizen中有没有像dumpsys activity
?如何通过SDB命令获取屏幕状态?
答
下面在这里我找到了一个替代解决方案,使tizen设备的锁屏状态。当屏幕被锁定在tizen设备,org.tizen.lockscreen
服务已自动启动。所以我必须跑在SDB外壳命令"ps aux | grep lockscreen"
。这里下面是Java API来获取tizen设备的锁屏:
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环境和0000d04800009200
的SDB
路径设备ID我tizen的device.But我仍然不知道如何关闭屏幕状态。