如何通过SDB命令获取屏幕状态?

时间:2017-11-25 13:08:41

标签: java tizen tizen-native-app

我需要为我的工具开发一个Java API来获取tizen设备的屏幕状态。是否有任何sdb shell命令来获取tizen设备的屏幕状态?我们可以通过像"adb.exe shell dumpsys activity | grep mLockScreenShown"这样的adb命令获取android设备屏幕状态。 Tizen中有dumpsys activity之类的东西吗?

1 个答案:

答案 0 :(得分:0)

下面我找到了另一种获得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环境的SDB路径,0000d04800009200是我的tizen设备的设备ID。但我仍然不知道如何关闭屏幕状态