无法从我的应用程序发送Gmail图像附件

时间:2013-05-17 14:01:49

标签: android android-intent

出于某种原因,Gmail即使在其撰写屏幕中显示PNG附件,也不会发送附件。我不明白我在这里做错了什么。

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

3 个答案:

答案 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);

答案 1 :(得分:0)

咄。在onActivityResult中我删除了该文件。如果要发送Gmail,则无法执行此操作。想知道是否有办法删除它,除了等待一段时间,只是打击它。

答案 2 :(得分:0)

将您的文件放在Context.getCacheDir()目录中。

现在,在创建新文件之前,检查现有文件并删除它们,如果它们超过几个小时或更长时间。