java - 有没有办法在 codenameone 中截取屏幕截图(尤其是对于 Android)?

标签 java codenameone screenshot

我试图每秒截取一张屏幕截图,以了解用户是否在另一个应用程序的菜单中。我在 Display 中找到了一个名为 capturePhoto(...) 的函数,但它是一个无效函数。我也尝试过使用 Robot,但它不受支持。

我用谷歌搜索了一下,但只找到了文本,没有找到要使用的代码。

我找到的函数:Display.getInstance().capturePhoto(null);

我不知道那里有什么而不​​是 null

最佳答案

要在代号一中截屏,可以使用下面的静态方法:

    /**
     * Returns a screenshot of the currently displayed Form, or null if no form
     * is shown
     *
     * @return
     */
    public static Image getScreenshot() {
        Form form = Display.getInstance().getCurrent();
        if (form != null) {
            Image screenshot = Image.createImage(form.getWidth(), form.getHeight());
            form.paintComponent(screenshot.getGraphics(), true);
            return screenshot;
        } else {
            return null;
        }
    }

它适用于代号 One 支持的所有平台,而不仅仅是 Android。

关于java - 有没有办法在 codenameone 中截取屏幕截图(尤其是对于 Android)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56541563/

相关文章:

java - Gradle + OSGi Liferay7 模块,包括传递依赖项

java - 使用spring 3.1访问jsp中的数据库连接字符串

java - 与Tomcat的 war 如何交付Realm?

java - 相对于按钮的 Material 图像尺寸[代号one]

java - 数据存储解决方案 - CodeNameOne || Java ||数据

从电影创建屏幕截图的 PHP 函数/库

ios - 没有状态栏的 iPhone 6/6Plus 的 iTunes Connect 屏幕截图?

java - 如何在 EDT 上运行 JOptionPane?

java - 在java中分析mp3文件的fft

screenshot - FaSTLane frameit 在交付到 App store 时不支持屏幕尺寸