android - How to capture everything currently on screen including Dialogs -
i have looked @ every article concering capturing screen (screenshot, screendump) programmatically on android, , end same answer.
the problem captures view have specified, not capture dialogs may "on top of" "root view". code use, fails capture "on top":
bitmap bitmap; view v1 = findviewbyid(android.r.id.content); v1.setdrawingcacheenabled(true); bitmap = bitmap.createbitmap(v1.getdrawingcache()); v1.setdrawingcacheenabled(false); file path = environment.getexternalstoragedirectory(); file file = new file(path, "mydump.jpg"); fileoutputstream outputstream; try { outputstream = new fileoutputstream(file); bitmap.compress(bitmap.compressformat.jpeg, 10, outputstream); outputstream.flush(); outputstream.close(); } catch (exception e) { e.printstacktrace(); } the question is: how can capture entire screen, including dialogs on top? interested in capturing app writing, not home screen or that, on top of root view.
i did read rooting, hope taking complete screendump of app im writing cannot impossible.
this working inside opened dialogfragment.
view v1 = ((viewgroup) (((myactivity)getactivity()).findviewbyid(android.r.id.content))); v1.setdrawingcacheenabled(true); bitmap bitmapparent = bitmap.createbitmap(v1.getdrawingcache()); v1.setdrawingcacheenabled(false); // dialogview inflated view of dialogfragment dialogview.setdrawingcacheenabled(true); bitmap bitmapdialog = bitmap.createbitmap(dialogview.getdrawingcache()); dialogview.setdrawingcacheenabled(false); canvas canvas = new canvas(bitmapparent); paint paint = new paint(paint.filter_bitmap_flag); canvas.drawbitmap(bitmapdialog, 0, 0, paint); // activity , dialog captured!! bitmapparent.compress(bitmap.compressformat.png, 100, new fileoutputstream(new file(directory, name)));
Comments
Post a Comment