Android - Eclipse屏幕截图代码

时间:2013-07-26 18:28:31

标签: android

我想知道我是否可以截取手机的屏幕截图并将其保存在我的图库中。就像Windows上的printscreen功能一样,Android有什么类似的功能吗?是否有任何代码可以打印我的应用程序的屏幕?

2 个答案:

答案 0 :(得分:2)

这些是可行的方法。

  • 如果你想在eclipse中截取模拟器或连接设备的截图,那么
  

打开Android视图“设备”(在Window - > Show View - > Other ... - > Android - > Devices下)。单击要拍摄屏幕截图的设备或模拟器,然后单击“屏幕捕获”按钮并将其保存到任何您想要的位置。

  • 如果您想以编程方式截取您的应用,请点击此处的答案:How to programmatically take a screenshot in Android? 这里使用shell命令的一些技巧需要你的手机扎根。

    以下是上述链接的示例代码。

    // image naming and path  to include sd card  appending name you choose for file
    String mPath = Environment.getExternalStorageDirectory().toString() + "/" + "img_name.jpg";   
    
    // create bitmap screen capture
    Bitmap bitmap;
    View v1 = getWindow().getDecorView().findViewById(android.R.id.content);
    v1.setDrawingCacheEnabled(true);
    bitmap = Bitmap.createBitmap(v1.getDrawingCache());
    v1.setDrawingCacheEnabled(false);
    
    OutputStream fout = null;
    Uri uri = Uri.fromFile(new File(mPath)); //can used as uri
    
    try {
        fout = new FileOutputStream(imageFile);
        bitmap.compress(Bitmap.CompressFormat.JPEG, 90, 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();
    }
    
  • 正如@Shobhit所说,如果可以的话,您可以通过制造商快捷方式截取屏幕截图。如果您需要,可以参考以下内容:http://www.makeuseof.com/tag/6-ways-to-take-screenshots-on-android/

答案 1 :(得分:0)

我不确定您是想以编程方式还是手动方式执行此操作。当您在Windows中说“喜欢PrintScreen”时,我假设您想要手动截取屏幕截图。您可以在Android OS附带的不同手机型号中使用不同的按钮组合。 How to take screenshots on Android博客列出了各种方法,您可以在不同型号的Android手机中截取屏幕截图。希望这可以帮助。