如何通过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环境和0000d04800009200SDB路径设备ID我tizen的device.But我仍然不知道如何关闭屏幕状态。