2013-01-07 130 views
1

我正在使用eclipse Indigo進行Android開發。 這可能聽起來有點瘋狂,但是 在eclipse中是否有任何功能會在應用程序運行時自動截取每個屏幕的屏幕截圖? 或者這是否需要以編程方式完成? 其實我想要的是,我需要在我的應用程序中的所有屏幕的屏幕截圖。 我想避免使用DDMS視角手動採用它們。Eclipse和自動屏幕截圖

任何信息會有幫助。 在此先感謝。

回答

2

在eclipse中是否有任何功能會自動將 屏幕截圖顯示在應用程序運行時?

是的,你可以採取截圖,如果你

打開Android設備上查看 「設備」(在窗口 - >顯示視圖 - >其他 ... - > Android的 - >設備)。點擊想要拍攝屏幕截圖的設備或模擬器 ,然後單擊「屏幕截圖」按鈕(它看起來像是一個小圖片,它應該在 停止標誌按鈕旁邊)。有時設備不會立即加載 圖片;有時你必須關閉/重新打開屏幕捕獲窗口。

這相當於通過DDMS拍攝照片,但你可以在Eclipse中做到這一點,而不是打開另一個應用程序。

這是否需要以編程方式完成?

是的,你也可以這樣做,下面的代碼建議。

// image naming and path to include sd card appending name you choose for file 
String mPath = Environment.getExternalStorageDirectory().toString() + "/" + ACCUWX.IMAGE_APPEND; 

// create bitmap screen capture 
Bitmap bitmap; 
View v1 = mCurrentUrlMask.getRootView(); 
v1.setDrawingCacheEnabled(true); 
bitmap = Bitmap.createBitmap(v1.getDrawingCache()); 
v1.setDrawingCacheEnabled(false); 

OutputStream fout = null; 
imageFile = new File(mPath); 

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(); 
} 

然後,當你需要訪問使用這樣的事情:

Uri uri = Uri.fromFile(new File(mPath));