我正在尝试使用后台服务截取屏幕截图.这项服务就像一个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 – 截图 – 后台服务所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)