Android Studio mailto Intent 不显示主题和邮件正文 [英] Android Studio mailto Intent doesn't show subject and mail body

查看:83
本文介绍了Android Studio mailto Intent 不显示主题和邮件正文的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试从我的 Android 应用程序发送电子邮件.单击一个按钮,gmail 应该会打开并显示一封包含我之前定义的收件人、主题和电子邮件正文的新电子邮件.到目前为止,我已经尝试发送 Intent.ACTION_VIEW 和 Intent.ACTION_SENDTO.两者都只向收件人显示我的草稿.主题和信息都受到压制.奇怪的是当使用模拟器时,它工作得很好.还试图锁定 android 错误日志.好像没有权限这真的是权限问题还是其他原因?我真的很感激任何帮助干杯

I'm trying to send an e-mail from my Android App. With the click on a button, gmail should open and show a new email with my previously defined recipient, subject and email body. So far I've tried sending the Intent.ACTION_VIEW as well as Intent.ACTION_SENDTO. Both show my draft with the recipient only. Both subject and message are being opressed. Weird thing is when using the emulator, it works just fine. Also was trying to lock at the android errorlog. Seems like i don't have permission. Is it really a permission problem or could it be something else? I'd really appreciate any help cheers

这是我的代码:

  • 通过 ACTION_VIEW 发送电子邮件
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("mailto:" + to));
intent.putExtra(intent.EXTRA_SUBJECT, subject);
intent.putExtra(intent.EXTRA_TEXT, message);
mainActivity.startActivity(intent);

  • 通过 ACTION_SENDTO 发送电子邮件
  • Intent email = new Intent(Intent.ACTION_SENDTO);
    email.setType("message/rfc822");
    email.putExtra(Intent.EXTRA_EMAIL, new String[]{to});
    email.putExtra(Intent.EXTRA_SUBJECT, subject);
    email.putExtra(Intent.EXTRA_TEXT, message);
    mainActivity.startActivity(Intent.createChooser(email, "Choose an Email client :"));
    

    • 来自 logcat 的错误消息
    • 2019-12-13 01:30:35.172 29268-29268/? E//system/bin/webview_zygote32: failed to make and chown /acct/uid_99044: Permission denied
      2019-12-13 01:30:35.172 29268-29268/? E/Zygote: createProcessGroup(99044, 0) failed: Permission denied
      2019-12-13 01:30:35.206 29289-29289/? E/asset: setgid: Operation not permitted
      2019-12-13 01:30:35.226 29296-29296/? E/asset: setgid: Operation not permitted
      2019-12-13 01:30:35.355 29268-29268/? E/Typeface: Error mapping font file /system/fonts/NotoSansKhmer-Regular.ttf
      2019-12-13 01:30:35.356 29268-29268/? E/Typeface: Error mapping font file /system/fonts/NotoSansKhmer-Bold.ttf
      2019-12-13 01:30:35.356 29268-29268/? E/Minikin: Could not get cmap table size!
      2019-12-13 01:30:35.356 29268-29268/? E/Typeface: Unable to load Family: null:und-Khmr
      2019-12-13 01:30:35.484 29268-29268/? E/Typeface: Error mapping font file /system/fonts/LGAka_Light.ttf
      2019-12-13 01:30:35.484 29268-29268/? E/Minikin: Could not get cmap table size!
      2019-12-13 01:30:35.484 29268-29268/? E/Typeface: Unable to load Family: lg-lgaka:null
      2019-12-13 01:30:35.816 29342-29342/? E//system/bin/webview_zygote32: failed to make and chown /acct/uid_99045: Permission denied
      2019-12-13 01:30:35.816 29342-29342/? E/Zygote: createProcessGroup(99045, 0) failed: Permission denied
      2019-12-13 01:30:35.842 29354-29354/? E/asset: setgid: Operation not permitted
      2019-12-13 01:30:35.864 29367-29367/? E/asset: setgid: Operation not permitted
      2019-12-13 01:30:36.139 29342-29342/? E/Typeface: Error mapping font file /system/fonts/NotoSansKhmer-Regular.ttf
      2019-12-13 01:30:36.139 29342-29342/? E/Typeface: Error mapping font file /system/fonts/NotoSansKhmer-Bold.ttf
      2019-12-13 01:30:36.139 29342-29342/? E/Minikin: Could not get cmap table size!
      2019-12-13 01:30:36.139 29342-29342/? E/Typeface: Unable to load Family: null:und-Khmr
      2019-12-13 01:30:36.362 29342-29342/? E/Typeface: Error mapping font file /system/fonts/LGAka_Light.ttf
      2019-12-13 01:30:36.362 29342-29342/? E/Minikin: Could not get cmap table size!
      2019-12-13 01:30:36.362 29342-29342/? E/Typeface: Unable to load Family: lg-lgaka:null
      2019-12-13 01:30:36.523 4349-4359/? E/GBMv2: FPS Scaler: EXP
      2019-12-13 01:30:36.602 29342-29342/? E/WebViewFactory: can't load with relro file; address space not reserved
      2019-12-13 01:30:37.058 29220-29220/? E/Gmail: Gmail:EditWebView JS Console: b/119949571:draft.editor.onLoad; source: file:///android_asset/draft_editor_gmail_compiled.js at 89
      2019-12-13 01:30:37.146 29220-29220/? E/Gmail: Gmail:EditWebView JS Console: b/119949571:draft.editor.onLoad is finished; source: file:///android_asset/draft_editor_gmail_compiled.js at 90
      

      推荐答案

      试试这个代码,它对我有用.

      try out this code, it worked for me.

      Intent intent = new Intent(Intent.ACTION_SENDTO);
      intent.setData(Uri.parse("mailto:")); // only email apps should handle this
      intent.putExtra(Intent.EXTRA_EMAIL, new String[]{email});
      intent.putExtra(Intent.EXTRA_SUBJECT, "Subject here");
      intent.putExtra(Intent.EXTRA_TEXT,"Body Here");
      if (intent.resolveActivity(getPackageManager()) != null) {
          startActivity(intent);
      }
      

      还在 android manifest 中添加意图过滤器.

      also add intent filter in android manifest.

      <activity ...>
      <intent-filter>
          <action android:name="android.intent.action.SENDTO" />
          <data android:scheme="mailto" />
          <category android:name="android.intent.category.DEFAULT" />
      </intent-filter>
      

      这篇关于Android Studio mailto Intent 不显示主题和邮件正文的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆