2013-05-17 38 views
0

由於某些原因,即使Gmail在其撰寫屏幕中顯示PNG附件,也永遠不會發送附件。對我來說不明顯,我在這裏做錯了什麼。無法通過我的應用程序向Gmail發送圖像附件

 view.setDrawingCacheEnabled(true); 
     Bitmap b = view.getDrawingCache(); 
     try { 
      boolean r = b.compress(CompressFormat.PNG, 95, new FileOutputStream(outputFile)); 
     } catch (FileNotFoundException e) { 
      e.printStackTrace(); 
     } 
     final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND); 
     emailIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
     emailIntent.setType("image/png"); 
     emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, new String[]{emailTo}); 
     emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, subject); 
     emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, emailText); 
     Uri u = Uri.fromFile(outputFile); 
     emailIntent.putExtra(Intent.EXTRA_STREAM, u); 
     this.startActivityForResult(emailIntent, 0); 

回答

0

嘗試:

final Intent emailIntent = new Intent(android.content.Intent.ACTION_SEND); 
    emailIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
    emailIntent.setType("image/png"); 
    emailIntent.putExtra(android.content.Intent.EXTRA_EMAIL, new String[]{emailTo}); 
    emailIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, subject); 
    emailIntent.putExtra(android.content.Intent.EXTRA_TEXT, emailText); 
    emailIntent.putExtra(Uri.fromFile(outputFile); 
    emailIntent.putExtra(Intent.EXTRA_STREAM, u); 
    this.startActivityForResult(emailIntent, 0); 
0

咄。在onActivityResult中,我刪除了該文件。如果Gmail要發送它,則無法做到這一點。想知道是否有一種方法可以刪除它,而不是等待一段時間,然後再打開它。

0

將您的文件放入Context.getCacheDir()目錄。

現在,在您創建新文件之前,請檢查現有文件並刪除它們,如果它們超過幾個小時或更長時間。

相關問題