2011-06-21 84 views
0

我正在使用android。我有以下代碼捕獲屏幕截圖。截圖但創建空白文件:android?

設置你的根佈局:

View content = findViewById(R.id.layoutroot); 
content.setDrawingCacheEnabled(true); 

函數來獲取渲染視圖:

private void getScreen() 
{ 
    View content = findViewById(R.id.layoutroot); 
    Bitmap bitmap = content.getDrawingCache(); 
    File file = new File("/sdcard/test.png"); 
    try 
    { 
     file.createNewFile(); 
     FileOutputStream ostream = new FileOutputStream(file); 
     bitmap.compress(CompressFormat.PNG, 100, ostream); 
     ostream.close(); 
    } 
    catch (Exception e) 
    { 
     e.printStackTrace(); 
    } 
} 

我的問題是,它創建了一個零KB的文件。什麼可能是問題?

回答

0

做的這些變化,並再試一次:

  • 使內容變量最終並調用findViewById上的活動的佈局

    最後查看的內容= somelayout.findViewById(R.id.layoutroot );

0

您尚未將數據寫入文件。你直接關閉文件這就是爲什麼你得到了與0 KB

使用這樣的事情

try 
    { 
     file.createNewFile(); 
     FileOutputStream ostream = new FileOutputStream(file); 
     byte[] mydata = null;//data in byte array 
     ostream.write(mydata); 
     ostream.close(); 
    } 
    catch (Exception e) 
    { 
     e.printStackTrace(); 
    } 
文件