android开发分享在android中的屏幕捕获

我想开发一个应用程序,将android屏幕截图..任何人知道如何做到这一点..? 这是类似于koushik duttas屏幕截图..但用out根本没有任何人有koushik dutta截图应用程序正在工作..? 是不是为我工作..请让我知道..提前感谢。

    假设你点击了一个button:

    findViewById(R.id.button1).setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Bitmap bitmap = takeScreenshot(); saveBitmap(bitmap); } }); 

    之后,你需要这两个方法:

     public Bitmap takeScreenshot() { View rootView = findViewById(android.R.id.content).getRootView(); rootView.setDrawingCacheEnabled(true); return rootView.getDrawingCache(); } public void saveBitmap(Bitmap bitmap) { File imagePath = new File(Environment.getExternalStorageDirectory() + "/screenshot.png"); FileOutputStream fos; try { fos = new FileOutputStream(imagePath); bitmap.compress(CompressFormat.PNG, 100, fos); fos.flush(); fos.close(); } catch (FileNotFoundException e) { Log.e("GREC", e.getMessage(), e); } catch (IOException e) { Log.e("GREC", e.getMessage(), e); } } 

    你可以尝试这样的事情

     private RelativeLayout view; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); view = (RelativeLayout)findViewById(R.id.relativeView); View v1 = view.getRootView(); v1.setDrawingCacheEnabled(true); Bitmap bm = v1.getDrawingCache(); } 

    方法view.getDrawingCache()将首先尝试检索先前caching的图像。 这可能会导致问题,如果你想保证你的屏幕截图是最新的。 例如,如果您的用户点击您的屏幕截图button,然后更改用户界面,然后再次单击它,第二个屏幕截图将与第一个屏幕截图相同,除非您擦除caching。 我发现以下方法更方便:

     public Bitmap takeScreenshot() { View rootView = findViewById(android.R.id.content).getRootView(); Bitmap bitmap = Bitmap.createBitmap(rootView.getWidth(), rootView.getHeight(), Bitmap.Config.ARGB_8888); Canvas canvas = new Canvas(bitmap); rootView.draw(canvas); return bitmap; } 

    我认为这是不可能没有根或SDK,对不起。

    我很想被certificate是错误的。

    不是一个应用程序,但如果你有一个USB电缆,你可以在个人电脑上安装Android SDK,并使用androidscreencast从个人电脑截图,而不必根植你的手机。

      以上就是android开发分享在android中的屏幕捕获相关内容,想了解更多android开发(异常处理)及android游戏开发关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/addevelopment/517961.html

      (0)
      上一篇 2020年12月5日
      下一篇 2020年12月5日

      精彩推荐