【问题标题】:Attach file to email in Android Wear 2.0在 Android Wear 2.0 中将文件附加到电子邮件
【发布时间】:2017-08-06 23:48:33
【问题描述】:

在我的应用程序中,我可以在内部或外部存储中写入和读取文件。两者都适用于阅读/写作。但是,我无法将任何地方的文件附加到我导致从我的应用程序发送(通过意图)的电子邮件中。

我已经在应用程序的清单和运行时请求了外部存储权限,并且我已经验证我拥有它们(再次,我能够从我的应用程序中读取/写入。)事实上一切似乎正在工作。我的电子邮件客户端以正确填充的主题和电子邮件正文启动,它显示我的文件已附加(我通过正确的文件名和所有内容获得回形针图标。)但是,当电子邮件发送时,附件被删除。

恐怕这可能只是 Google/Android 拒绝真正允许我将附件从一个应用程序传递到另一个应用程序。

有人可以帮忙吗?

这是我设置电子邮件附件的代码:

String[] TO = {"myemail@gmail.com"};
            String[] CC = {""};
            Intent emailIntent = new Intent(Intent.ACTION_SEND);

            emailIntent.setData(Uri.parse("mailto:"));
            emailIntent.setType("text/plain");
            emailIntent.putExtra(Intent.EXTRA_EMAIL, TO);
            emailIntent.putExtra(Intent.EXTRA_CC, CC);
            emailIntent.putExtra(Intent.EXTRA_SUBJECT, "Something cool");

            File attachment = new File(root, "TestFile2.txt");
            Uri fileUri;
            if (!attachment.exists() || !attachment.canRead()) {
                Log.d("MyMessages", "Could not find file to attach.");
            } else {
                fileUri = Uri.parse("file://" + attachment.getAbsolutePath());
                emailIntent.putExtra(Intent.EXTRA_STREAM, fileUri);
                emailIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
                emailIntent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
                emailIntent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
                emailIntent.setFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION);
                Log.d("MyMessages", "I think I attached a file...");
            }

            emailIntent.putExtra(Intent.EXTRA_TEXT, "Here you go...\n");

            try {
                startActivity(Intent.createChooser(emailIntent, "Send mail..."));
                finish();
                Log.d("MyMessages", "Email sent.");
            } catch (android.content.ActivityNotFoundException ex) {
                Log.d("MyMessages", "Email not sent. Client installed?");
            }

【问题讨论】:

    标签: android android-studio android-intent wear-os


    【解决方案1】:

    美好的一天! 很抱歉,但目前 Wear 2.0 不支持启动其他 Wear 应用的 Intent 机制,也不支持通过 3-d 方电子邮件客户端发送电子邮件。 我花了 3 周时间寻找解决方案,但没有找到。

    【讨论】:

      猜你喜欢
      • 2014-06-25
      • 1970-01-01
      • 2016-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多