2011-09-26 419 views
0

在我的應用程序中,我正在截屏當前屏幕並將其保存在SD卡中。但在屏幕截圖不保存在SD卡中。如何拍攝屏幕截圖並以電子郵件的形式發送拍攝的屏幕截圖作爲附件。請幫幫我。以Android編程的屏幕截圖問題以編程方式

我的編碼:

  View v1 = view.getRootView(); 
      v1.setDrawingCacheEnabled(true); 
      Bitmap bm = v1.getDrawingCache(); 
      try 
      { 
        System.out.println("path "+Environment.getExternalStorageDirectory()); 
        FileOutputStream out = new FileOutputStream(Environment.getExternalStorageDirectory()+"/ff"); 
        bm.compress(CompressFormat.PNG, 90, out); 
      } 
      catch (Exception e) 
      { 
        e.printStackTrace(); 
      } 

      Intent emailIntent = new Intent(Intent.ACTION_SEND); 
      Uri U=Uri.parse("file:///sdcard/ff"); 
      emailIntent.putExtra(Intent.EXTRA_EMAIL, new String[] { "[email protected]" }); 
      emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, " from .."); 
      emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, "from the app"); 
      emailIntent.setType("image/png"); 
//   emailIntent.putExtra(android.content.Intent.EXTRA_STREAM,U); 
      emailIntent.putExtra(Intent.EXTRA_STREAM, U); 
      startActivity(Intent.createChooser(emailIntent, "")); 

請幫助我。

回答

0

我解決我的問題,通過更換try子句編碼由

  File file = new File(Environment.getExternalStorageDirectory()+"/filmfestival.png"); 
      try 
      { 
       file.createNewFile(); 
       FileOutputStream ostream = new FileOutputStream(file); 
       bitmap.compress(CompressFormat.PNG, 100, ostream); 
       ostream.close(); 
      } 
      catch (Exception e) 
      { 
       e.printStackTrace(); 
      }