【问题标题】:How to get android device screenshot programmatically? [duplicate]如何以编程方式获取 android 设备屏幕截图? [复制]
【发布时间】:2023-03-04 21:22:01
【问题描述】:

可能重复:
Screenshot Android

我想从应用程序启动的地方获取android设备的屏幕截图,如果你有解决方案,请回复。

提前致谢

【问题讨论】:

  • 您在标题中以编程方式说过,但您没有在问题中提及。

标签: android


【解决方案1】:

您可以使用代码或 jar 库截取正在运行的应用程序。但是要获得系统范围的屏幕截图,您需要 root 手机(在 Android 4.0 之前)

check this out

【讨论】:

    【解决方案2】:

    您可以通过对布局的顶级视图使用以下命令以编程方式获取整个屏幕的位图:

    topLevelView.setDrawingCacheEnabled(true);
    Bitmap fullScreenBitmap = Bitmap.createBitmap(topLevelView.getDrawingCache());
    topLevelView.setDrawingCacheEnabled(false);
    

    然后您可以使用 fullScreenBitmap 做任何您需要的事情。

    【讨论】:

    • 感谢您的回复,我已经尝试过了,但它给出了黑屏或我设置了 onCreate() 函数的当前 xml 视图,但我想要应用程序启动位置的屏幕截图(应用程序菜单或 android 的主屏幕设备)。
    【解决方案3】:

    查看此代码。它可能对您有所帮助。

    View v1 = view.getRootView();
    
                                v1.setDrawingCacheEnabled(true);
    
                                Bitmap bm = v1.getDrawingCache();
    

    【讨论】:

    • 这里的“视图”是指您的布局视图。
    • 感谢您的回复,但我已经尝试过它会出现黑屏或错误
    • 感谢您的回复,我已经尝试过了,但它给出了黑屏或我设置了 onCreate() 函数的当前 xml 视图,但我想要应用程序启动位置的屏幕截图(应用程序菜单或 android 的主屏幕设备)。
    • ok.为什么需要主屏幕截图?
    • 现在这里是实现此类应用程序的要求
    【解决方案4】:

    转到 DDMS -> 设备 -> 在右上角查看相机图标,单击该图标您将获得设备/模拟器屏幕截图。

    【讨论】:

    • 感谢您的回复,但我想实现应用程序来捕获设备屏幕截图,这就是我想要代码解决方案的原因
    猜你喜欢
    • 2011-11-22
    • 1970-01-01
    • 2017-11-15
    • 1970-01-01
    • 1970-01-01
    • 2011-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多