Take screenshot programmatically of the whole screen

后端 未结 2 973
滥情空心
滥情空心 2020-12-30 15:10

I\'m taking screenshot as below:

 public static Bitmap takeScreenshot(Activity activity) {  
      View view = activity.getWindow().getDecorView();  
      v         


        
相关标签:
2条回答
  • 2020-12-30 15:50

    Read somewhere on the forums about another way: -

    Process sh = Runtime.getRuntime().exec("su", null,null);
    OutputStream  os = sh.getOutputStream();
    os.write(("/system/bin/screencap -p " + "/sdcard/img.png").getBytes("ASCII"));
    os.flush();
    

    You can try that out. Don't know if it works or not, just saved it for a rainy day :P.

    EDIT:

    Found the link to the post - How to take a screenshots?

    User says, screenshots work for him. I think this should suit your requirement.

    0 讨论(0)
  • 2020-12-30 15:56

    It seems there is no way to get screenshot from screen of a device that is not rooted.Here,CommonsWare says:

    If you mean "screenshot of somebody else's activity", that is not supported, for obvious privacy and security reasons.

    Although you can get screenshot of emulator when your App is running!

    Edit:

    But there exists a library that is called ASL(Android Screenshot Library):

    Android Screenshot Library (ASL) enables to programmatically capture screenshots from Android devices without requirement of having root access privileges. Instead, ASL utilizes a native service running in the background, started via the Android Debug Bridge (ADB) once per device boot.

    I did not try it,but you can see more details in about it here.

    0 讨论(0)
提交回复
热议问题