java– 截图 – 后台服务

java– 截图 – 后台服务,第1张

概述我正在尝试使用后台服务截取屏幕截图.这项服务就像一个Facebook聊天室,但我希望它在我点击时截取屏幕截图.PreviewPicture我已经开发了一些代码,但它不起作用.我试过的最后一次是:privatevoidtakeScreenshot(){Datenow=newDate();android.text.format.DateFor

我正在尝试使用后台服务截取屏幕截图.这项服务就像一个Facebook聊天室,但我希望它在我点击时截取屏幕截图.

Preview Picture

我已经开发了一些代码,但它不起作用.我试过的最后一次是:

private voID takeScreenshot() {    Date Now = new Date();    androID.text.format.DateFormat.format("yyyy-MM-dd_hh:mm:ss", Now);        // image naming and path  to include sd card  appending name you choose for file        String mPath = Environment.getExternalStorageDirectory().toString() + "/capture/" + Now + ".jpg";        // create bitmap screen capture        Bitmap bitmap;        VIEw v1 = chathead.getRootVIEw();        v1.setDrawingCacheEnabled(true);        bitmap = Bitmap.createBitmap(v1.getDrawingCache());        v1.setDrawingCacheEnabled(false);        OutputStream fout = null;        file imagefile = new file(mPath);        try {            fout = new fileOutputStream(imagefile);            bitmap.compress(Bitmap.CompressFormat.JPEG, 100, fout);            fout.flush();            fout.close();        } catch (fileNotFoundException e) {            // Todo auto-generated catch block            e.printstacktrace();        } catch (IOException e) {            // Todo auto-generated catch block            e.printstacktrace();        }}

但是截图到我的按钮而不是屏幕.

我知道问题在这里:

VIEw v1 = chathead.getRootVIEw();

但我不知道如何解决它.谁能帮我?

我实际上使用的是AndroID Studio 2.2.2和AndroID 4.0或更高版本.

解决方法:

要获取包含不属于您的应用的视图的屏幕截图,您需要使用mediaprojectionmanager.

见How to take a screen shot with status bar contents in android application?

总结

以上是内存溢出为你收集整理的java – 截图 – 后台服务全部内容,希望文章能够帮你解决java – 截图 – 后台服务所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1113729.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存